Re : copier une plage de données sous conditions dans un classeur fermé
il s’agit d’un tri , et une fois que les données triées, on prend comme plage (SourceRange) les cellules dans la colonne F qui correspondent.
Do
i = i + 1
Loop Until Cells(i, 2) = "03" And Cells(i, 3) = "M" And Cells(i, 4) = "P" trouve le numéro de la première ligne répondant au critères
j = i la plage de cellules répondant aux critères est en un seul bloc, donc on enchaîne pour trouver le numéro de la dernière ligne
Do While Cells(j, 2) = "03" And Cells(j, 3) = "M" And Cells(j, 4) = "P" trouve le numéro de la dernière ligne correspondant aux critères
j = j + 1
Loop
Set SourceRange= « F&i :F&j » définit la plage de cellules à copier
Le problème c’est que pour l’instant j’ai des messages d’erreurs.. Je bloque vraiment.
Le principal c’est de trouver comment adapter le code ci-dessus et où le mettre pour que ça marche.
Voilà ce que j’ai découvert :
With Range(SourceRange)
i = 5
Do
i = i + 1
Loop Until Range("C" & i).Value = M And Range("D" & i).Value = P
End With
MsgBox ("i=" & i)
Quand on insère cette boucle après la connexion mais avant de copier des trucs, elle marche et renvoie un i intéressant (avant j'avais des messages d'erreurs), le problème c’est que le format de la colonne B dans le fichier BLABLA est NumberFormat = "00" . Avec ce format, la méthode range échoue si tu rajoutes
Range("b"& i).value = "03" And
Auriez-vous une solution pour ce sous-problème ?
Sinon, comment dans ce cas là stocker la valeur i quelque part et faire démarrer j avec cette valeur ??
Et quand on aura tout ça, comment ça s’écrit une plage avec un compteur dedans ? comme ça : [« f »& i : « f »& j] ??