Excel macro : Boucle Do Loop et Condition If

Snoopy6102000

XLDnaute Junior
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!
 

Snoopy6102000

XLDnaute Junior
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...
 

Bill607

XLDnaute Nouveau
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
 

Snoopy6102000

XLDnaute Junior
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"
 

Snoopy6102000

XLDnaute Junior
Re : Excel macro : Boucle Do Loop et Condition If

Ci-dessous capture écran
if.jpg
 

Snoopy6102000

XLDnaute Junior
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
 

Discussions similaires

Réponses
12
Affichages
616

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal