Vba/Excel/macro ne fonctionnant pas
Résolu
by
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention - 5 juil. 2011 à 17:58
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention - 5 juil. 2011 à 17:58
A voir également:
- Vba/Excel/macro ne fonctionnant pas
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Fonction si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
11 réponses
ça ne fonctionne pas ? c'est a dire que rien ne change ?
Essaie d'afficher des messages pour savoir si ça passe dans tel condition, pour savoir ou est l'erreur précisément :)
Essaie d'afficher des messages pour savoir si ça passe dans tel condition, pour savoir ou est l'erreur précisément :)
Bonjour
tu dis que tu parcours une colonne mais tu écris cells(AX,i) et tu parcours ainsi une ligne
la syntaxe de cells est cells(ligne, colonne) et dans ton cas au aura cells(l,"AX")
tu dis que tu parcours une colonne mais tu écris cells(AX,i) et tu parcours ainsi une ligne
la syntaxe de cells est cells(ligne, colonne) et dans ton cas au aura cells(l,"AX")
Bonjour,
Sans trop comprendre ce que tu cherches à faire, juste en lisant le code, la macro ne peut pas fonctionner parce qu'elle a 2 conditions IF pour le contenu de la même cellule :
Si tu trouves "réseau eau réparer" dans Cells(AX,i), tu ne peux pas y trouver "Marine" ou "Patrick".
Comme Michel, je trouve la syntaxe étrange et je pense qu'il y a confusion entre les lignes et les colonnes.
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Sans trop comprendre ce que tu cherches à faire, juste en lisant le code, la macro ne peut pas fonctionner parce qu'elle a 2 conditions IF pour le contenu de la même cellule :
If (Sheets(Feuil1).Cells(AX, i).Value = "réseau eau réparer") Then If (Sheets(Feuil1).Cells(AX, i).Value = "Marine") Then ...
Si tu trouves "réseau eau réparer" dans Cells(AX,i), tu ne peux pas y trouver "Marine" ou "Patrick".
Comme Michel, je trouve la syntaxe étrange et je pense qu'il y a confusion entre les lignes et les colonnes.
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je l'ai changé et ça ne marche toujours pas :D
Est-ce que j'exprime bien le fait que j'utilise des données de la feuil1 et que j'exécute la macro sur la feuil3 ? C'est peut-être là où ça bug?
Est-ce que j'exprime bien le fait que j'utilise des données de la feuil1 et que j'exécute la macro sur la feuil3 ? C'est peut-être là où ça bug?
J'ai regardé un peu mieux :o)
Pour l'incrémentation il faut faire :
;o)
Pour l'incrémentation il faut faire :
Worksheets("feuil3").Cells(2, 3).Value = Worksheets("feuil3").Cells(2, 3).Value + 1
;o)
Re,
proposition
"valeur" aura toujours la m^me valeur pour marine, m^me valeur autre pour patrik, etc ?
proposition
Const col As String = "AX" Const texto As String = "réseau eau réparer" Sub Macro1() Dim valeur As Integer Dim lig As Long, cptr As Byte With Sheets(1) nbre = Application.CountIf(.Columns(col), texto) If nbre = 0 Then GoTo vide: lig = .Cells.Rows.Count For cptr = 1 To nbre lig = .Columns(col).Find(texto, .Cells(lig, col), xlValues).Row prenom = .Cells(lig, col).Offset(0, 1) With Sheets(3) Select Case prenom Case Is = "Marine" valeur = .Cells(3, 2) + 1 Case Is = "Patrick" valeur = .Cells(4, 2) + 1 Case Else valeur = .Cells(5, 2) + 1 End Select End With Next End With Exit Sub vide: MsgBox texto & " n'existe pas dans la colonne " & col, vbCritical End Sub
"valeur" aura toujours la m^me valeur pour marine, m^me valeur autre pour patrik, etc ?
Mnt que j'y pense, y a qq chose de pas clair dans mon code.
Qd j'écris la ligne suivante:
valeur = Worksheets("feuil3").Cells(3, 2).Value + 1
J'essaie de lui dire d'incrémenter de 1 la cellule (3,2). je devrais peut-être initialiser mes cellules pour qu'il puisse les incrémenter de 1, nn ?
Dans ce cas, comment je lui dis que le fait qu'elle soit vide veut dire, en fait qu'on démarre à 0
Qd j'écris la ligne suivante:
valeur = Worksheets("feuil3").Cells(3, 2).Value + 1
J'essaie de lui dire d'incrémenter de 1 la cellule (3,2). je devrais peut-être initialiser mes cellules pour qu'il puisse les incrémenter de 1, nn ?
Dans ce cas, comment je lui dis que le fait qu'elle soit vide veut dire, en fait qu'on démarre à 0
Waouh..
Je pourrais en pleurer tellement je te suis reconnaissante :D :D (je suis dessus depuis 9h du matin et je peux pas rentrer chez moi tant que c'est pas fait)
Je vais essayer ce que tu me propose!!
Merciiii
Je pourrais en pleurer tellement je te suis reconnaissante :D :D (je suis dessus depuis 9h du matin et je peux pas rentrer chez moi tant que c'est pas fait)
Je vais essayer ce que tu me propose!!
Merciiii
C'est pas du tout contraignant, je ne reçois juste pas les réponses à temps :)
Merci pour vos réponses, je vais retenter le coup pour voir
Par contre, effectivement valeur n'est pas la même pour tous, j'imagine que ça veut dire qu'il faut que je change ce fragment de code pour pas qu'il y ait confusion
Merci pour vos réponses, je vais retenter le coup pour voir
Par contre, effectivement valeur n'est pas la même pour tous, j'imagine que ça veut dire qu'il faut que je change ce fragment de code pour pas qu'il y ait confusion
C'est desepérant. C'est peut-être mon code qui ne passe pas?
Comment je peux faire afficher les messages d'erreur (question bête j'imagine, mais je débute vraiment)