charly2812
Messages postés37Date d'inscriptionmercredi 1 mars 2006StatutMembreDernière intervention22 mai 2008
-
22 nov. 2007 à 12:29
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 2011
-
22 nov. 2007 à 16:00
bonjour,
alors voici mon problème:
sqna une macro j'effectue une boucle pour trouver une certaine valeur, je recupère le numéro de la colonne où se trouve cette valeur (j).
j'aimerais ensuite utiliser un range().select pour pouvoir faire un copier coller (special, valeur) de toute la collone, puis de la colonne i+1 et enfinn de la colonne i+2.
je ne trouve pas la syntaxe pour le renge().select avec une variable à l'intérieur du range.
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 22 nov. 2007 à 16:00
Ce que tu as écrit ne peut pas fonctionner puisque la valeur de i sera toujours égale à 200, en effet, tu ne sors pas de ta boucle, donc elle défile jusqu'au bout.
Donc soit tu utilises ton Range avec j en variable comme tu as fait, soit tu sors de la boucle dès que tu as trouvé et dans ce cas, tu utilises le i
For i = 1 To 200
If Worksheets("Ventas").Cells(4, i) = "Atraso" Then
j = i
exit for
End If
Next i
Ensuite, ça ne peut pas fonctionner parce que i est un entier (un chiffre compris entre 1 et 200) alors qu'avec le range, tu dois désigner la colonne par une lettre.
Utilise plutôt 2 Cells dans un range pour déterminer une plage les deux cellules opposées
En plus, tu veux faire un copier/coller de la colonne i, i +1 et i + 2, suffit donc de faire un copier/coller de la plage (i 1 à i+2 10000), soit :