Introduire un paramètre dans RANGE().select
Résolu
krankinette
-
Morgothal Messages postés 1236 Date d'inscription Statut Membre Dernière intervention -
Morgothal Messages postés 1236 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois écrire une macro qui vient chercher une colonne dans un onglet 1 puis qui la colle dans un onglet 2 où s'effectue un calcul dont le résultat apparait onglet 3. Je dois faire ce calcul autant de fois qu'il y a de colonnes dans le premier onglet (environ 180) et lister tous les résultats dans un onglet 4.
J'ai enregistré cette macro pour la première colonne :
Sheets("Colonnes").Select
Range("C3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Calculs").Select
Range("P10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Résultats").Select
Range("C20").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Présentation résultats").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Je voudrais l'automatiser pour me faire les 180 colonnes mais je n'arrive pas à introduire de paramètre dans la fonction RANGE()
Est ce que quelqu'un q une idée ?
Merci
Je dois écrire une macro qui vient chercher une colonne dans un onglet 1 puis qui la colle dans un onglet 2 où s'effectue un calcul dont le résultat apparait onglet 3. Je dois faire ce calcul autant de fois qu'il y a de colonnes dans le premier onglet (environ 180) et lister tous les résultats dans un onglet 4.
J'ai enregistré cette macro pour la première colonne :
Sheets("Colonnes").Select
Range("C3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Calculs").Select
Range("P10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Résultats").Select
Range("C20").Select
Range(Selection, Selection.End(xlToRight)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Présentation résultats").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Je voudrais l'automatiser pour me faire les 180 colonnes mais je n'arrive pas à introduire de paramètre dans la fonction RANGE()
Est ce que quelqu'un q une idée ?
Merci
A voir également:
- Introduire un paramètre dans RANGE().select
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Netflix paramètre compte - Guide
- Parametre usine chromecast - Guide
3 réponses
Salut,
Au lieu de
Si j'ai mal compris n'hésite pas à reposter !
A+
Au lieu de
Range("C3").Selecttu peux écrire
Range("C3:FZ3").selectFZ c'est la 180ème colonne à partir de C, donc il faut adapter en fonction du nombre exact de colonnes que tu veux sélectionner, et à répéter à chaque fois que tu veux sélectionner plusieurs colonnes.
Si j'ai mal compris n'hésite pas à reposter !
A+
bonjour
pour introduire un paramètre on peut écrire :
range("A" & i) i étant un indice que tu peux faire évoluer.
par exemple :
à la place de Range, tu peux utiliser Cells( i , j) ou i est N° de ligne et j N° de colonne
A+ si besoin
pour introduire un paramètre on peut écrire :
range("A" & i) i étant un indice que tu peux faire évoluer.
par exemple :
For i= 3 to 180 Range("C" & i).Select ... ... Next i
à la place de Range, tu peux utiliser Cells( i , j) ou i est N° de ligne et j N° de colonne
A+ si besoin
Le premier exemple de Paf te permet de passer sur 180 lignes, et non sur 180 colonnes, il faut utiliser son deuxième exemple :
Dim colonne as Integer For colonne = 1 to 180 Cells(3, colonne).Select ... ... Next
Un exemple de Range, c'est
C'est pour ça qu'il faut bien utiliser
Range("A1"), si tu essayes de lui donner une variable numérique
i+2à la place du A, il aime pas trop...
C'est pour ça qu'il faut bien utiliser
For colonne = 1 to 180 Cells(3, colonne).Select ... ... NextPour passer sur toutes les colonnes sous forme de nombre et non de lettres