Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Excel macro : Boucle Do Loop et Condition If

  • Initiateur de la discussion Initiateur de la discussion Snoopy6102000
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Snoopy6102000

Guest
Bonjour à tous, j'utilise pas mal les boucle et les conditions. Je repart toujours de mon modèle pour les modifier. Cependant, là je ne comprends pas pourquoi cela ne marche pas.
Je met ci-joint mon fichier. C'est une macro qui correspond à la feuille "débit", elle est dans le module 5 et je l'ai recopiée en module 6 (et simplifiée) pour essayer de comprendre mon erreur.
J'ai créé un lien car ça passe pas en pièce jointe (extension?)
http://cjoint.com/?0FzovZD4ezm

Je vous recopie ici la macro simplifiée
Sub test()
B = 8
Set ChercheGlobal = Sheets("Débit").Cells(B, 20)
Set ArrêtChercher = Sheets("Débit").Cells(B, 2)
Set IndiqueB = Sheets("CTRL")

Do While ArrêtChercher <> ""
With Sheets("Débit").Range("A8:U34")
Set trouvé1 = .Find(ChercheGlobal)

If trouvé1 <> "" Then
IndiqueB.Select
Sheets("CTRL").Copy After:=Sheets(Sheets("Débit").Cells(B, 2).Value)
ActiveSheet.Name = "PV-" & Sheets("Débit").Cells(B, 2).Value
End If

End With

B = B + 1
Set ChercheGlobal = Sheets("Débit").Cells(B, 20)
Set CherchePièces = Sheets("Débit").Cells(B, 21)

Set ArrêtChercher = Sheets("Débit").Cells(B, 2)

Set IndiqueB = Sheets("CTRL")
Set IndiqueC = Sheets("CTRL-P")
Loop

Sheets("Débit").Select

End Sub

- - - -
En fait il s'agit surtout d'un problème autour de ma condition, car j'avais commencé avec trouvé1 ="X" , qui est ma condition "normale", mais il n'en veut pas, et passe directement à la suite, même si X est bien dans la cellule concernée. Le numéro de colonne est bon.

Merci d'avance pour votre aide!
 
Re : Excel macro : Boucle Do Loop et Condition If

Bonjour

Il faudrait déjà commencer par déclarer tes variables 🙄
Tu verrais ensuite pourquoi tu as ce problème
 
Re : Excel macro : Boucle Do Loop et Condition If

Je suis désolée je ne comprends pas ce qu'il manque... Je ne sais pas ce que veux dire "déclarer les variables". Merci d'avance pour l'éclaircissement !!!
 
Re : Excel macro : Boucle Do Loop et Condition If

Re-bonjour,
Merci pour cette aide, je ne sais pas ce que veux dire "integer".
J'ai modifié comme vous l'avez indiqué mais cela me mettai une erreur, j'ai mis comme suite :
Dim B As Integer
B = 8

Cependant, ça ne va toujours pas pour ma condition...
 
Re : Excel macro : Boucle Do Loop et Condition If

Integer = entier mais pas plus de 4 chiffre d'après mes souvenirs sinon si ca depasse tu mets Long. Bref, par curiosité : remplace
Do While ArrêtChercher <> ""
par
Do While ArrêtChercher <> Empty
 
Re : Excel macro : Boucle Do Loop et Condition If

Merci.
Ca ne va pas. Je ne pense pas que le problème se situe dans la boucle, il s'agit plutôt de ma condition. If trouvé1 = "X" Then
IndiqueB.Select
Sheets("CTRL").Copy After:=Sheets(Sheets("Débit").Cells(B, 2).Value)
ActiveSheet.Name = "PV-" & Sheets("Débit").Cells(B, 2).Value
Else
Sheets("Débit").Cells(B, 20).Select
End If

En effet quand je fait ma macro en "pas à pas", je vois qu'il passe directement de "If trouvé1="X" à "Else", alors que d'après mon tableau, il devrait passer à "Then"
 
Re : Excel macro : Boucle Do Loop et Condition If

1. Déclare tout tes variables
2. il y a un end with qui se balade et je ne vois pas de With ..... ?????????
 
Re : Excel macro : Boucle Do Loop et Condition If

Je n'ai que "B" en variable
Le Edn With va avec le With : "With Sheets("Débit").Range("A8:U34")" en 8ème ligne
 
Re : Excel macro : Boucle Do Loop et Condition If

Donc B est un nombre de moins de 4 chiffres donc "Integer"
Set ChercheGlobal est une lettre, donc ça se dit comment?
(merciiii)

Ce qui est bizarre c'est que cette macro est la copie d'une autre sur le mêm principe et qui marche bien lol
 
Re : Excel macro : Boucle Do Loop et Condition If

Dim ChercheGobal As String
Dim trouvé....
Dim etc ....

Des fois, ca bug pour rien :/ vaut mieux tout corriger pour mieux cerner le problème 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
662
Réponses
12
Affichages
1 K
D
  • Résolu(e)
Microsoft 365 Boucle Do until
Réponses
16
Affichages
2 K
danpom302
D
R
Réponses
2
Affichages
648
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…