Gérer les conditions et critères en VBA Excel

Поділитися
Вставка
  • Опубліковано 3 гру 2024
  • Cette formation VBA Excel apprend à gérer des critères et traiter des actions selon que la condition est vérifiée ou non grâce aux instructions If ElseIf. Nous partons d'un cas pratique sur le calcul de l'indice de masse corporelle. Nous gérons le bouton cliqué par l'utilisateur sur une boîte de dialogue MsgBox. Selon son choix, une action adaptée est enclenchée grâce à l'instruction if. Ce if permet aussi de gérer les incompatibilités de type potentielles au retour des InputBox. Nous augmentons le nombre de critères de l'instruction If grâce à la branche ElseIf afin d'envisager plus de cas et tirer partie de la puissance du code VBA Excel.
    #ApprendreVBA
    #VbaExcel
    #ApplicationExcel
    #ProgrammationExcel
    La vidéo suivante, présente précisément les boîtes de dialogues en VBA :
    • Les boîtes de dialogue...
    Refaites l'exercice sur le site en suivant toute la démarche :
    www.bonbache.f...

КОМЕНТАРІ • 137

  • @carter93000
    @carter93000 Рік тому +1

    Bonjour à vous, merci pour ce tuto.
    Il manquait le cas où la personne était en sous-poids, grace à vous j'ai pu faire les ajustements nécessaires pour ajouter cette option.
    Top je pense que je vais très vite arriver à mon objectif en suivant vos tutos

    •  Рік тому

      Bonjour. Très heureux que ce sujet vous ait été utile. Merci à vous pour ce message.

  • @stephanrhim5733
    @stephanrhim5733 7 років тому +3

    Bonsoir, je débute dans la programmation VBA XLS en autodidacte, grâce à votre site et vos tutos je comprends et j'apprends sans difficultés c'est ma troisième vidéo c'est un vrai plaisirs de vous suivre même si des fois cela va un peu vite pour moi.
    Merci pour tout.

    •  7 років тому

      Bonjour Stéphan, votre message est également un réel plaisir. Je suis ravi que vous appréciez ces formations et qu'elles vous soient utiles. Très bonne soirée à vous.

  • @narc621
    @narc621 2 роки тому

    Merci beaucoup, votre travail m'a aidée pleinement et il est rare de trouver une explication aussi claire et facile à comprendre comme la votre, vos videos vont aidée des milliers d'autres personnes comme moi meme après des années de leurs sorties, merci encore une fois et bonne continuation à vous.

    •  2 роки тому +1

      Bonjour Akram. Je suis très flatté par votre témoignage et je vous adresse mes plus sincères remerciements. Bien sûr, même des années après, le VBA est le VBA et d'ailleurs je continue de proposer de nouveaux sujets avec ce code merveilleux.

  • @romlev
    @romlev 7 років тому +5

    Bonjour,
    Merci pour vos vidéos d'un grand professionnalisme
    J'ai détesté les cours de VBA à l'université, avec vos vidéos c'est un plaisir !
    Très bonne continuation à vous

    •  7 років тому

      Et merci beaucoup à vous pour ce retour qui procure une grande satisfaction.

  • @phdoreau
    @phdoreau 7 років тому +2

    C'est excellent ! un plaisir de vous lire et entendre vos cours. Un step by step bien pédagogique. Merci mille fois pour le partage de ces belles démonstrations !

    •  7 років тому

      Bonjour Philippe, merci beaucoup pour ce message en retour.

  • @daddad8771
    @daddad8771 6 років тому +1

    Bonjour
    Un grand merci et bravo pour votre travail de pédagogie absolument formidable, simple clair et adapté au novice que je suis.
    Encore merci.
    Bien à vous

    •  6 років тому

      Bonjour David, à mon tour de vous remercier pour avoir pris le temps de faire un message aussi agréable.

  • @michelcarrere644
    @michelcarrere644 5 років тому +1

    superbe vidéo et très bien expliquer que j'ai bien réussie je me suis pris au jeu et je vais essayer de faire la liste des 48 vidéos .la prochaine que je vais essayer de faire le distributeur de billet qui c'est peu être que que je vais en avoir . merci monsieur ROSSETTI pour c'est explication très bien détailler.MICHEL

    •  5 років тому

      Bonjour Michel, je suis ravi que ces sujets vous plaisent et que vous envisagiez de les étudier dans l'ordre. Vous prendrez du plaisir et je vous remercie infiniment pour vos témoignages.

  • @mohandhamnache7030
    @mohandhamnache7030 7 років тому +1

    Excellente formation ! Claire et Concise, continuez ainsi !

    •  7 років тому

      ça fait plaisir. Merci beaucoup pour ce retour.

  • @gerardbrin7317
    @gerardbrin7317 8 років тому +1

    Très pédagogique. Merci beaucoup.bon de joindre le lien afin de pouvoir l'exercice par nous mêmes

    •  8 років тому

      Et encore merci à vous d'offrir ce genre de retour

  • @damienmatumona6658
    @damienmatumona6658 3 роки тому +1

    Du bon boulot

    •  3 роки тому

      Je vous en prie Damien. Merci à vous pour ce message.

  • @RAit-et1ri
    @RAit-et1ri 4 роки тому

    Vidéo super compréhensible et claire.
    Je m'intéresse de plus en plus au VBA, j'ai acheté 3 livres mais j'ai du mal quand ce n'est pas interactif.
    Merci donc Stéphane !
    Petit bémol : si l'utilisateur veut annuler la procédure, cela ne fonctionne pas avec le code en l'état...
    Sinon super les videos pendant le confinement, j'attaque les autres

    •  4 роки тому

      Merci beaucoup R. Ait pour ce message et votre intérêt. Oui, il faut gérer le cas du bouton Annuler, exemple :
      ...
      Dim temp As Variant
      temp = InputBox("Prix au litre du carburant ?")
      If (temp = "") Then Exit Sub
      prix_litre = temp
      ...

  • @IsmailOUJJIR
    @IsmailOUJJIR 2 роки тому +2

    SVP j'ai une question: pourquoi est ce que quand j'arrive à 10:31 Excel me donne, après la saisie du poids et taille, Erreur '6': Dépassement de capacité.

    •  2 роки тому +1

      Bonjour Ismail. La raison qui explique cette erreur est que vos variables ne sont pas correctement typées pour recevoir les données ou encore que vos saisies ne sont pas conformes pour recevoir des nombres, comme avec l'insertion d'un point par exemple qui transforme la donnée en texte alors que la variable attend un nombre.

  • @badrelabied9359
    @badrelabied9359 4 роки тому +1

    Merci beaucoup !!

    •  4 роки тому +1

      Je vous en prie BADR EL ABIED. Merci à vous pour ce message.

  • @frogeregis
    @frogeregis 7 років тому +1

    Bravo

    •  7 років тому

      Merci François.

  • @ghostaka7405
    @ghostaka7405 4 роки тому

    woaah merci beacoup ;c top:)

    •  4 роки тому

      Merci beaucoup Ghost Aka

  • @Salyanov5
    @Salyanov5 3 роки тому +1

    Merci. Parfait ! (...sauf pour moi qui ne voulais pas savoir que je suis en surpoids ;-))

    •  3 роки тому

      😁 C'est un plaisir Marcus. Merci pour ce message.

  • @fabiant171
    @fabiant171 7 років тому +1

    Très intéressant moi j’espère bientôt utiliser les fonctions classique de excel mais en Vba :p de rechercheV a index !

    •  7 років тому

      Merci à vous.

  • @yvesdombald1720
    @yvesdombald1720 Рік тому +1

    Bonjour Stéphanne un grand merci pour vos tuto au demeurant super bien expliquée. J ai rencontré un problème au niveau du curseur qui ne bouge pas.
    J ai bien mis range("A8:T8") ="" si j ai bien compris à la ligne A8 jusqu'à T8 déplacement
    cells(8 , imc - 17 ) = 4, 26) ligne 8 - 17 pour commencer à 18 prendre le curseur en Z4😮 4ème ligne et 26ème colonnes pour leZ mais rien ne bouge 😢 je suis bloqué. En attendant votre réponse je tiens à vous remercier pour l excellence de vos tuto
    Salutations Yves

    •  Рік тому

      Bonjour Yves. Pardonnez-moi, je passe rapidement en cette fin de journée de Mercredi étant données les nombreuses sollicitations auxquelles je dois répondre. Je vous invite à suivre scrupuleusement le pas à pas détaillé donné à cette adresse :
      www.bonbache.fr/gerer-les-conditions-et-criteres-en-vba-excel-120.html
      Tout le code VBA strict y est fourni.

  • @manambinaramilison7889
    @manambinaramilison7889 3 роки тому +1

    Je vous remercie pour toutes vos vidéos sur la manipulation du VBA Stéphane. J'ai une question relative à cette vidéo : si possible, pourriez-vous nous montrer comment on crée les curseurs ? Merci :)

    •  3 роки тому +2

      Je vous en prie Manambina. Merci à vous pour ce message. Pour le curseur, vous maintenez la touche Alt enfoncée, vous tapez le nombre 31 et vous relâchez la touche Alt.

    • @manambinaramilison7889
      @manambinaramilison7889 3 роки тому +1

      @ merci 😊

    •  3 роки тому +1

      @@manambinaramilison7889 Je vous en prie.

  • @alainbushcraft9636
    @alainbushcraft9636 4 роки тому +1

    Bonjour, super vidéo qui nous aides beaucoup, j'aurais au moins une question , peut on changer la police des boite de dialogue?

    •  4 роки тому

      Bonjour Alain et merci beaucoup pour votre message. Comme l'indique leur nom, il s'agit de boîtes de dialogue standards. Elles sont donc régies par le système et héritent de la police définie pour ce dernier. Il est donc possible de changer globalement cette police. Il doit aussi être possible de piloter une classe pour gérer ces attributs spécifiques.

  • @polopolo7332
    @polopolo7332 3 роки тому +1

    Bonjour Mr Rossetti,
    Comment empêcher l'utilisateur d'encoder des taille et/ou poids "irréalistes" (ex: 190 cm et 20 kg) qui pourraient entraîner des messages d'erreur ou sortir des limites que nous nous sommes fixés au départ (IMC 18-37)
    Autre point, lorsque je veux annuler un encodage dans une des boites de dialogue ou tout simplement fermer la fenêtre, excel m'en empêche...
    Merci pour votre retour.

    •  3 роки тому

      Bonjour Polo. Pour les limites, il suffit de poser des tests (If) en amont sur les valeurs saisies et à réfuter la poursuite du code si elles sont jugées farfelues. Le bouton Annuler d'une boîte de dialogue est sanctionné par une valeur numérique en retour qu'il s'agit de stocker dans une variable. Si cette valeur correspond au bouton annuler, il faut sortir de la procédure (Exit Sub).

  • @thomasbenony1959
    @thomasbenony1959 6 років тому +1

    Bonjour, tout d'abord un très grand merci pour tout le travail que vous faîtes, pour ma part c'est d'une très grande utilité et bien plus compréhensible et pratique que les quelques cours que j'ai eu sur VBA. Les applications sont très parlantes et l'apprentissage se fait facilement.
    J'ai cependant une petite question. Je pars d'un classeur entièrement vierge, j'ai réalisé la bande/tableau IMC et la code tourne sans problème. Par contre, je ne sais pas intégrer le curseur en cellule Z4. J'ai crée une "forme", mais elle n'est pas reprise. Que dois-je insérer pour que le curseur soit correctement repris ? Si vous aviez un petit conseil :) Merci beaucoup

    •  6 років тому +1

      Bonjour Thomas et merci beaucoup pour votre message. Le curseur dont vous parlez est en fait un caractère réalisé par un code ASCII. Il est grossit par la taille de la police. Ainsi vous simplifiez la manipulation pour le code VBA qui n'a qu'à répliquer le contenu de la cellule. Il ne s'agit pas d'un objet à part entière. Un code ASCII consiste à taper un nombre, tout en maintenant la touche Alt du clavier enfoncée, exemple : ALT + 4 : ♦, ALT + 5 : ♣, ALT + 6 : ♠ etc...

    • @thomasbenony1959
      @thomasbenony1959 6 років тому +1

      Super, un grand merci pour votre retour et votre rapidité. Bonne journée à vous.

    •  6 років тому

      Je vous en prie Thomas.

  • @pedrolino8679
    @pedrolino8679 3 роки тому +1

    Bonjour M. Rossetti, tout d'abord merci pour la qualité de vos explications ! Il est très agréable de vous suivre pas à pas pour réaliser ces petites macros. J'ai toutefois rencontré un problème en voulant affecter le bouton à ma macro vers la fin de la vidéo, excel m'a retourné le message "cette formule est trop compliquée pour être affectée à un objet", et pour l'instant je ne vois pas comment le contourner. Avez-vous des solutions ?

    •  3 роки тому

      Bonjour Pedro. Merci beaucoup pour votre intérêt. Votre souci est tout à fait surprenant. Il me fait plutôt penser à une erreur interne d'Excel. Je suppose que vous avez testé la procédure sans le bouton et qu'elle fonctionne parfaitement ?

    • @pedrolino8679
      @pedrolino8679 3 роки тому

      @ Oui, aucun problème avec la procédure en exécutant avec F5.

    •  3 роки тому +1

      ​@@pedrolino8679 Il semblerait que ce soit un problème de liaison. Vous devriez répliquer le code sur un autre classeur. Si le problème existe toujours, cela signifie qu'une librairie est manquante ou corrompue. Dès lors, une réparation d'Excel serait à entrevoir.

    • @pedrolino8679
      @pedrolino8679 3 роки тому +1

      @ Effectivement, en copiant-collant le code dans un autre classeur, j'ai pu affecter ma macro au bouton sans problème. Je vais cependant investiguer un peu plus loin comme ce souci est récurrent et que je n'en connais pas la (ou les) cause profonde. Je vous remercie pour votre réponse rapide et une nouvelle fois, pour la qualité de vos vidéos (il ne me manque que tu temps pour découvrir !)

    •  3 роки тому +1

      ​@@pedrolino8679 C'est votre classeur qui avait un souci, une corruption du fichier à l'enregistrement sans doute. En tous cas, bravo pour la résolution.

  • @joelsoinard
    @joelsoinard 3 роки тому +1

    Bonjour et bravo pour vos tutos très bien expliqués.
    j'essai de refaire l'exercice a partir de votre formation ,mais je bloque à cet endroit:
    If (imc

    •  3 роки тому +1

      Bonjour Joel et merci pour votre message. Je ne vois pas d'erreur de syntaxe a priori si ce n'est l'espace qui manque après la parenthèse fermante pour séparer le Then.

    • @joelsoinard
      @joelsoinard 3 роки тому

      @ voila le message d'erreur apres avoir mis un espace apres la parenthese:expected end of statement !!!

    •  3 роки тому

      @@joelsoinard Je viens de voir votre erreur mais il fallait la trouver. Vous n'avez pas écrit le ElseIf correctement. Il me semble que vous utilisez le chiffre 1 à la place de la lettre I en majuscule.

    • @joelsoinard
      @joelsoinard 3 роки тому +1

      @ Bonsoir Stéphane et merci pour votre réaction: en fait j'ai employé le terme ( elself pour elseIf) vous avez vu juste, encore merci, le langage codé ne tolère aucune fantaisie!!!

    •  3 роки тому

      @@joelsoinard Oui tout à fait, les termes des expressions sont stricts.

  • @tsidymiboela936
    @tsidymiboela936 5 років тому +1

    bonjour ou bonsoir, je viens de tomber sur cette video et c'est formidable. mais pour créer le curseur c'est comment? merci

    •  5 років тому +1

      Bonjour et merci beaucoup pour votre message. Il s'agit d'un code Ascii généré au clavier par la combinaison de la touches Alt et d'un nombre. Il est donné dans le classeur source offert au téléchargement à cette adresse :
      www.bonbache.fr/gerer-les-conditions-et-criteres-en-vba-excel-120.html

  • @LaSandSand
    @LaSandSand 4 роки тому +1

    Bonjour M. Rosseti,
    merci beaucoup pour vos vidéos qui me permettent enfin de me mettre au VBA, c'est très clair. En ayant bien déclaré l'imc en tant que Double et en ayant bien fait poids/taille puis imc/taille, j'avais une erreur d'exécution 6 : dépassement de capacité. L'erreur se trouvait dans mes deux fonctions If : j'avais écris tampon = taille et tampon=poids au lieu de taille=tampon et poids=tampon. Maintenant que j'ai corrigé ça fonctionne très bien. Mais pourquoi cela entrainait une erreur de capacité ?
    Merci de votre retour,
    Bonne journée,

    •  4 роки тому

      Bonjour LaSandSand et merci pour votre message. Bravo pour la correction. Le type String est celui qui peut le plus. Donc, le dépassement de capacité ne doit pas intervenir. Cependant, à ce stade du développement, les variables Taille et Poids ne sont pas encore affectées. En tant que variables numériques, elles sont considérées comme nulles. Or, un String peut être vide ("") mais ne peut pas être nul (Null).

    • @LaSandSand
      @LaSandSand 4 роки тому +1

      Ok j'ai compris, Merci beaucoup !

    •  4 роки тому

      Je vous en prie LaSandSand

  • @christopherl2127
    @christopherl2127 6 років тому +1

    Excellent tuto ! j'ai juste un petit souci avec la taille, en effet mon code "laisse passer" les points et les virgules comme chiffre (mais rejete les lettres). Cela vient peut-etre de ma version d'excel? (americaine)

    •  6 років тому

      Bonjour Christopher, en version américaine le code est identique dans son interprétation ce qui n'est pas le cas d'une feuille Excel qui, dans votre cas, va considérer le séparateur de décimales grâce au point et non grâce à la virgule. Le souci que vous évoquez dans votre code est tout à fait étrange. Je pencherais plutôt pour des instructions incorrectes.

    • @deadrak
      @deadrak 4 роки тому

      @ Bonjour, j'ai le même "soucis" que Christopher L, dans la taille, les "." et les "," sont laissé passer par le code mais pas dans le poids alors que le code pour le poids a été copier-coller du code de la taille. Mystère xD.

  • @jordaneellahessouman6748
    @jordaneellahessouman6748 5 років тому +1

    Bonjour prof, merci pour vos tutoriels, j'ai remarqué que la variable tampon qui est de type string considère le vide comme une chaine de caractères et lorsqu' au moment de l'exécution de la macro, si je souhaite plutôt annuler, je recois un message d'erreur.

    •  5 років тому +1

      Bonjour Jordane et merci pour votre message. La variable tampon si elle n'est pas encore affectée vaut Null et n'est pas considérée comme vide. Si malgré l'annulation, vous tentez d'affecter le contenu de l'InputBox, cela signifie que vous avez omis de mettre fin au programme dans l'instruction conditionnelle (Exit Sub).

    • @jordaneellahessouman6748
      @jordaneellahessouman6748 5 років тому +1

      Rossetti Stéphane la puissance, gros c'est la puissance, merci beaucoup

  • @sebastienblais-corbeil3474
    @sebastienblais-corbeil3474 2 роки тому +1

    Bonjour. Tout d'abord, merci pour les tutoriels: très bon moyen de s'approprier le langage VBA. Je voulais savoir quelle serait l'erreur de coder le calcul de l'imc de façon suivante:
    imc = poids/(taille/100)^2
    De plus, en déclarant imc As Integer, ma réponse est déjà arrondie en entier.
    Je sais que ce que je fais n'est pas "dans les normes" mais les résultats sont bons tout de même. En quoi ces deux "erreurs" pourraient nuire à l'avenir?

    •  2 роки тому +1

      Bonjour Sébastien. Merci beaucoup pour votre message. Votre méthode est très bonne au contraire. Elle permet d'économiser des lignes de code. C'est pour la bonne compréhension que je l'ai décomposée dans cette formation qui est l'un des premiers volets sur l'apprentissage du VBA Excel.

  • @bienvenuesoubabenawan
    @bienvenuesoubabenawan 4 роки тому +1

    Bonsoir monsieur Stéphane, merci pour cette belle formation.
    Par ailleurs, j'ai un petit projet sur excel mais techniquement je ne sais pas vraiment comment démarrer
    Le cahier des charges est constitué de deux feuilles excel. Et on voudrait que lorsqu'on fait une mise à jour de la première que cela se répercute sur la deuxième qui est constituée de graphiques.

    •  4 роки тому +1

      Bonjour Bienvenue Soubapé Nawan. Il suffit peut être de lier les cellules de la seconde feuille à la première par calculs (=). C'est l’essence même d'Excel. Les graphiques s'adapteront d'eux mêmes aux variations de données.

    • @bienvenuesoubabenawan
      @bienvenuesoubabenawan 4 роки тому +1

      @ Tout à fait.
      Mais les fonctionnalités attendues sont au delà de la liaison.
      Malheureusement, la plate-forme ne me permet pas de vous partager le fichier.
      Sous votre permission, je voudrais savoir si je peux vous le partager et votre adresse e-mail.
      Merci de votre collaboration habituelle.

    •  4 роки тому +1

      ​@@bienvenuesoubabenawan Je n'aurai pas l'occasion de me plonger dans votre fichier. Je reçois d'innombrables demandes chaque jour avec fichier joint. Il m'est impossible de m'impliquer pour chacun faute de temps. Je suis sincèrement désolé et j'espère que vous comprendrez.

    • @bienvenuesoubabenawan
      @bienvenuesoubabenawan 4 роки тому

      @ Oui, en effet je vous comprends.
      Merci pour votre disponibilité

  • @PS3games001
    @PS3games001 6 років тому +1

    Bonsoir M.Rossetti ! Je suis débutant en VBA et grâce à vos tutoriels et explications je commence à comprendre petit à petit, Merci beaucoup.
    En essayant de refaire cet exercice , j'ai trouvé un problème au niveau de calcul de l'IMC, lorsque je clique sur f5 ça me donne un message d'erreur d'exécution ( dépassement de capacité), je ne sais pas au niveau de quelle partie j'ai commis l'erreur ? voici le programme :
    Sub Calcul_IMC()
    Dim debut As Byte: Dim Taille As Byte: Dim Poids As Byte: Dim reglage As String: Dim IMC As Single
    debut = MsgBox("Bienvenue sur ce test IMC, voulez vous continuez ?", vbYesNo + vbInformation, "WELCOME")
    If debut = 7 Then
    Exit Sub
    Else
    debut = MsgBox("On continue")
    End If
    la_taille:
    reglage = InputBox("Quelle est votre taille en cm ?", "La taille")
    If (IsNumeric(reglage)) Then
    reglage = Taille
    Else
    MsgBox ("Erreur de saisie, veuillez entrer un nombre entier !")
    GoTo la_taille:
    End If
    le_poids:
    reglage = InputBox("Quel est votre poids en kg ?", "Le poids")
    If (IsNumeric(reglage)) Then
    reglage = Poids
    Else
    MsgBox ("Erreur de saisie, veuillez entrer un nombre entier !")
    GoTo le_poids:
    End If
    IMC = Poids / Taille
    IMC = IMC / Taille
    IMC = IMC * 10000
    IMC = Round(IMC, 1)
    MsgBox (IMC)

    •  6 років тому +1

      Bonjour Hamza Belari, tout d'abord merci pour votre message. Le dépassement de capacité signifie qu'on tente d'affecter dans une variable une valeur trop grande par rapport à son dimensionnement lors de la déclaration. En lisant rapidement le code que vous me suggérez, je ne vois pas d'erreur grossière a priori. Lorsque l'erreur surgit, il est intéressant de cliquer sur Déboguer. Ainsi l'éditeur VBA met en surbrillance la ligne incriminée, ce qui nous aiderait grandement à résoudre le problème.

    • @PS3games001
      @PS3games001 6 років тому +1

      Merci pour votre réponse, malheureusement le message d’erreur contient que ok et Aide, j’ai essayé de voir avec l’outil d’aide d’Excel, mais il n’y a pas grand chose .

    •  6 років тому +1

      Je viens de regarder votre code plus attentivement. Las variables poids et taille ne sont en fait jamais affectée d'où l'erreur. Il y a deux lignes à inverser : reglage = Taille par Taille = reglage et reglage = Poids par Poids = reglage

    • @PS3games001
      @PS3games001 6 років тому +1

      Ah oui, je n’est pas fait attention. Merci beaucoup pour vos explications et votre temps.

    •  6 років тому

      Je vous en prie.

  • @stellysuisanghow6674
    @stellysuisanghow6674 6 місяців тому +1

    bonjour, mon curseur ne bouge pas. Je n 'ai pas écris des chiffres en dessous des rectangles. cela peu etre a cause de ca que mon curseurs ne s'affiche pas ?

    •  6 місяців тому

      Bonjour, non c'est qu'il doit subsister un léger souci dans le code que je vous invite à reprendre avec le pas à pas détaillé à cette adresse :
      www.bonbache.fr/gerer-les-conditions-et-criteres-en-vba-excel-120.html

  • @boualem34
    @boualem34 6 років тому +1

    bonjour monsieur SVP comment atteindre la dernière cellule non vide dans une feuille avec le code VBA excel ? merci

    •  6 років тому +1

      Bonjour, il faut utiliser la méthode SpecialCells de l'objet Cells :
      der_colonne = Cells.SpecialCells(xlCellTypeLastCell).Column
      der_ligne = Cells.SpecialCells(xlCellTypeLastCell).Row
      Comme indiqué dans cette formation qui réalise la détection automatique des bornes des tableaux pour les traiter :
      www.bonbache.fr/boucles-for-next-en-vba-excel-pour-traitements-automatises-125.html

  • @bienvenuesoubabenawan
    @bienvenuesoubabenawan 4 роки тому +1

    Comment avez-vous conçu la feuille de l'IMC avec le curseur?

    •  4 роки тому +1

      Bonjour Monsieur. Il s'agit d'un code Ascii réalisé au clavier ALT + 31. Mais on peut aussi le générer par les caractères spéciaux.

    • @bienvenuesoubabenawan
      @bienvenuesoubabenawan 4 роки тому +1

      Bonjour monsieur Stéphane et merci pour votre réponse.
      Je vais chercher comment ça se fait avec les caractères spéciaux et vous reviendrai

    •  4 роки тому +1

      @@bienvenuesoubabenawan Il suffit de changer les polices pour trouver les caractères qui vous conviennent. Mais le raccourci que je vous ai donné fonctionne très bien.

    • @bienvenuesoubabenawan
      @bienvenuesoubabenawan 4 роки тому +1

      @ En effet le raccourci marche.
      Merci beaucoup

    •  4 роки тому

      @@bienvenuesoubabenawan Je vous en prie.

  • @alainnouasra1680
    @alainnouasra1680 4 роки тому +1

    Bonjour,
    Lorsque je cré une macro seule la couleur de cellule ne s'affiche pas !

    •  4 роки тому

      Bonjour Alain. Je ne comprends pas bien votre question en lien avec cette formation.

  • @djokari23
    @djokari23 7 років тому +1

    bonsoir !! parcontre si on met 1,80 dans l'inputbox ca passe parceque la variable tampon ne gere pas cela peut-etre !!

    •  7 років тому

      Bonsoir, vous avez tout à fait raison car le test If (IsNumeric()) vérifie seulement si la valeur est numérique et la décimale en français est bien la virgule, ce qui signifie qu'il faut réaliser un test VBA pour vérifier si le nombre saisi est bien un entier. Par exemple if(int(variable)=variable). Tout est possible dès lors qu'il s'agit de code en VBA. Merci à vous pour votre message.

  • @wafaaazzouni3959
    @wafaaazzouni3959 6 років тому

    bonjour Rossetti Stéphane, encore un excellent Tuto je me lance dans la programmation VBA c'est vraiment magnifique ce qu'on peut faire avec ma question est comment faire pour avoir le fameux curseur j'ai pas compris c'est quoi ? c'est un symbole ? car j'ai vu qu'il s'affiche dans la barre a formule merci encore pour tout.

    •  6 років тому +1

      Bonjour Wafaa Azzouni, je soutiens votre décision, cette formation va vous donner des compétences supplémentaires très intéressantes. Ce curseur est un caractère spécial réalisé par une combinaison de touches que l'on appelle code ASCII. Il est proposé par défaut dans le classeur source à récupérer à cette adresse : www.bonbache.fr/gerer-les-conditions-et-criteres-en-vba-excel-120.html

    • @wafaaazzouni3959
      @wafaaazzouni3959 6 років тому +1

      merci @ bon fin de journée

    • @wafaaazzouni3959
      @wafaaazzouni3959 6 років тому +1

      Est ce que vous pouvez me donnez la combinaison du code ASCII ?

    •  6 років тому

      Je ne m'en souviens plus précisément, il faut enfoncer la touche ALT, réaliser une succession de chiffres et relâcher la touche ALT. Essayez ne serait ce qu'avec les premiers chiffres, vous verrez c'est surprenant.

    • @benjamincedile6624
      @benjamincedile6624 4 роки тому

      pour le triangle
      vers le haut : alt 30
      vers le bas : alt 31
      vers la droite : alt 16
      vers la gauche : alt 17
      pour les autres symbole voici le lien : fsymbols.com/keyboard/windows/alt-codes/list/shortcuts/
      super formation je suis fan merci pour votre travail

  • @chaimaedoudou1699
    @chaimaedoudou1699 5 років тому +1

    Bonjour j ai une question est ce vous avez une idee comment faire la gestion de projet avec vb

    •  5 років тому

      Bonjour votre question est vague. Tout est possible en VB. Il faut d'abord construire un cahier des charges, tenir compte des équipes, des deadline, des objectifs et délais. Ensuite, tous les évènements se gèrent facilement. Donc, il est tout à fait possible de construire des tableaux de bord dynamiques, rendant compte des avancées, des retards, des tâches finalisées, comme le propose MS project.

    • @chaimaedoudou1699
      @chaimaedoudou1699 5 років тому

      @ je veux faire un projet et je dois calculer combien de temps il me faut avec vb est ce que tu peux m aider

    •  5 років тому

      J'aimerais vous aider mais je reçois un très grand nombre de demandes d'aide chaque jour. Il m'est impossible d'y répondre. J'essaie de conserver du temps pour proposer ces formations. Je suis sincèrement désolé.

    • @chaimaedoudou1699
      @chaimaedoudou1699 5 років тому

      @ merci beaucoup je peux attandre quelques jours

    •  5 років тому

      ça ne changera rien pour moi malheureusement, je n'aurai pas plus le temps. Une fois encore, je suis désolé.

  • @boualem34
    @boualem34 7 років тому +1

    SVP prof la fonction IsNumeric ne marche pas avec moi peu tu es me donne des explication

    •  7 років тому

      Bonjour Khettal boualem, difficile de vous en dire plus dans la mesure où votre problème semble vague. La fonction IsNumeric est une fonction VBA qui fonctionne dans tous les cas. Lorsque vous ouvrez la parenthèse après l'avoir saisie, obtenez vous bien l'info bulle vous informant du paramètre à renseigner. Ici, nous l'utilisons pour tester la saisie de l'utilisateur de retour de l'InputBox car le traitement ne peut se poursuivre si la donnée n'est pas numérique, ce que teste cette fonction.

    • @boualem34
      @boualem34 7 років тому +1

      j'ai bien compris le tuto mais quand je saisie la fonction IsNumeric et après que j'ouvre la parenthèse l'info bulle n’appris pas

    •  7 років тому

      Très surprenant, votre classeur est il bien enregistré avec prise en charge des macros (xlsm) ? La référence Visual Basic For Applications est elle bien cochée dans Outils/Références ? Avez-vous vérifié la sécurité des macros dans votre ruban Développeur ? En dernier recours, il est possible qu'une librairie soit manquante et que l'installation d'Office soit défaillante, car VBA est actif par défaut pour les projets Excel.

    • @boualem34
      @boualem34 7 років тому +1

      merci maintenant c'est ok après l'enregistrement du documents

  • @GeorgeBander
    @GeorgeBander 7 років тому +1

    Bonsoir cher maître ! Difficile de suivre ce tuto, car le "curseur" n'a pas disparu, et que la suite m'a paru difficile à entreprendre ! Trop d'erreur j'ai dû commettre, ce qui fait que je dois tous refaire....Comment avez-vous placé le curseur et comment doit-il disparaître ?? Merci ....

    •  7 років тому +1

      Bonsoir George, le curseur disparaît simplement en effaçant la plage de cellules : Range("Cellule_depart:cellule_arrivee").value="". Car le curseur est en fait un code Ascii, donc considéré comme du texte, et il réapparaît en fonction du résultat donné par le calcul de l'IMC arrondi pour le faire correspondre avec la cellule. Si vous refaites scrupuleusement les étapes énoncées par le cas pratique du site : www.bonbache.fr/gerer-les-conditions-et-criteres-en-vba-excel-120.html vous êtes sûr d'y arriver. Je pense que c'est moins simple avec seulement la vidéo pour le VBA. Je vous souhaite une bonne soirée George

    • @GeorgeBander
      @GeorgeBander 7 років тому +1

      Et oui, c'est super !! Je voulais le faire de moi-même sans aide....aie ! J'ai donc repris la pratique sur votre site. J'avais oublié le code Ascii, pourtant inséré dans bien des cas pour mon travail, avec la boîte de "Symbole" !! C'est le "q" pour l'envers, et le "p" pour l'endroit !Voilà, j'ai enfin réussi, et réparer "mes erreurs" !! Encore une fois, je vous remercie pour votre intervention, et vous souhaite une excellente soirée !!

    •  7 років тому

      Bonjour George, je suis satisfait que vous ayez trouvé le souci. Je me doutais bien que vous étiez passé un peu vite sur certaines explications. Comme toujours, c'est à moi de vous remercier pour vos retours.

  • @lentzmarc7632
    @lentzmarc7632 7 років тому +1

    bonjour, c'est encore moi cette fois-ci sur cette vidéo désolé encore mais j'ai suivi pas à pas vos explications sur votre site mais ma vba ne prend pas en compte le calcul elle s'arrête après avoir rempli le poids et la taille ensuite elle s'arrête

    •  7 років тому

      Bonsoir, cela signifie que la suite du code ne s'exécute pas et qu'une instruction doit empêcher l'enchaînement. Pourriez-vous copier votre code ici pour en avoir le coeur net ? Je ne pourrai pas vous répondre tout de suite à cause du planning mais j'essaierai de revenir assez vite.

    • @lentzmarc7632
      @lentzmarc7632 7 років тому +1

      Sub controlePoids()
      Dim taille As Byte: Dim poids As Byte: Dim tampon As Double
      la_taille:
      tampon = InputBox(" Quelle est votre taille (en cm) ?", "Votre taille")
      If (IsNumeric(tampon)) Then
      taille = tampon
      Else
      MsgBox "La taille doit être saisie en cm, ex. 1,80 m = 180"
      GoTo la_taille:
      End If
      le_poids:
      tampon = InputBox(" Quel est votre poids ( en kg) ?", " votre poids")
      If (IsNumeric(tampon)) Then
      poid = tampon
      Else
      MsgBox "Le poids doit etre un nombre entier ! "
      GoTo le_poids:
      End If
      imc = poids / taille
      imc = imc / taille
      imc = imc * 10000
      imc = Round(imc, 1)
      End Sub
      merci à vous ne vous inquiétez pas ce n'est pas une urgence

    •  7 років тому

      Le code tel que je le lis, réceptionne bien les valeurs saisies par l'utilisateur dans les variables taille et poids. Puis il effectue le calcul mais n'en fait rien visuellement. Celui-ci doit être correct mais il vous manque la suite, celle qui exploite ce résultat pour déplacer le curseur sur la courbe notamment :
      If (imc

  • @beyoyobe356
    @beyoyobe356 5 років тому

    Bonjour ou bonsoir, je suis fan comme beaucoup apparemment. j'ai suivi à la lettre votre tuto mais je suis bloqué au niveau du calcul de l'imc par un message d'erreur "erreur d'exécution 6" dépassement de capacité. sujet dont vous avez parlé plus avant dans la vidéo. Quelqu'un peut m'aider. On en sait jamais, Mr Rossetti est peut-être en vacances à l'heure actuelle et je ne voudrais pas le déranger :)
    Merci à vous pour votre aide.
    Et continuez Mr Rossetti, vos tutos sont géniaux ;)

    •  5 років тому +1

      Bonjour Beyo yobe et merci infiniment pour votre message si agréable. Le dépassement de capacité est symptomatique. Il indique que vous tentez d'affecter à une variable une valeur trop grande. Il peut s'agir du résultat du calcul de l'IMC. Votre variable doit sans doute est typée autrement. Je vous suggère de suivre le pas à pas détaillé à cette adresse :
      www.bonbache.fr/gerer-les-conditions-et-criteres-en-vba-excel-120.html
      Tout le code y est donné.

    • @beyoyobe356
      @beyoyobe356 5 років тому +1

      @ Bonjour, Ok je tente ça. Merci de votre retour aussi rapide. Bon week-end.

    • @beyoyobe356
      @beyoyobe356 5 років тому +1

      @ Merci, c'est bon :)

  • @ghostaka7405
    @ghostaka7405 4 роки тому

    J'ai ajouté le code pour l imc morbide (ajout d'une cellulle morbide (8,38))
    If (Cells(8, imc - 17).Value

    •  4 роки тому

      Merci beaucoup Ghost Aka pour cette contribution.

    • @ghostaka7405
      @ghostaka7405 4 роки тому +1

      @ c grâce à votre enseignement merci

    •  4 роки тому

      @@ghostaka7405 C'est un honneur