Problème VBA débutante!!

Fermé
Emdu13 - 21 févr. 2008 à 17:39
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 21 févr. 2008 à 19:30
Bonjour,
j'ai un problème avec mon programme VB, il fonctionne mais ne fais pas ce que je voudrais!

Sub essai2()
Dim ligne As Integer
Dim ligne2 As Integer
Dim ligne3 As Integer
ligne = 3
ligne3 = 2
While Feuil1.Cells(ligne, 7).Value <> ""

ligne2 = 2
Do

If Feuil1.Cells(ligne, 7).Value <> Feuil2.Cells(ligne2, 3).Value Or Feuil1.Cells(ligne, 29).Value <> Feuil2.Cells(ligne2, 21).Value Then

Sheets("Feuil1").Select
Range("a" & ligne & ":ag" & ligne).Select

Selection.Copy
Sheets("Feuil3").Select
Range("a" & ligne3 & ":ag" & ligne3).Activate
ActiveSheet.Paste
ligne3 = ligne3 + 1
End If
ligne2 = ligne2 + 1
Loop Until Feuil2.Cells(ligne2, 3) = ""

ligne = ligne + 1
Wend
End Sub


J'explique le problème j'ai trois feuil dans mon classeur, la première avec des données, la deuxièmes avec des donnée, il faut que le programme me permette de prendre une valeur de la feuil1 regardé si elle est dans la plage de données de la feuil2 et si ce n'est pas le cas alors l'écrire sur la feuille 3 (c'est la donnée de la feuil1 qu'on copie dans la 3ème)!

Si vous voyez où l'erreur je serai soulagé je compte sur vous !
Merci d'avance!

1 réponse

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
21 févr. 2008 à 19:30
Bonjour,

et si tu nous disais ce que tu souhaites qu'il fasse exactement et ce qu'il fait réellement ou ce qu'il ne fait pas et dans quels cas ?
Vu comme ça tes lignes ont l'air plausibles...
Mais si tu mets un OR dans ton test et qu'il faut un AND on ne peut deviner si c'est une choix voulu ou une erreur...

Sinon pour te guider dans la recherche d'erreur je ne peux que te conseiller d'exécuter ta macro en pas à pas (on avance avec F8) et de regarder au fur et à mesure si ça correspond à ce que tu veux, et en controlant la valeur de tes variables en les déposant dans la fenetre 'espions'

eric
0