Boucle Copier/Coller sur range variable

WaxistSelecta

XLDnaute Junior
Bonjour le forum,

je me permet de poser une petite question car j'essaie d'écrire une boucle mais cela ne semble pas fonctionner : un problème de syntaxe je pense...

Merci à celles ou ceux qui pourront m'aider... :)

Voila, globalement ma boucle est censé :

1/ Récupérer une partie d'un tableau et la coller dans un autre workbook
==> C'est la partie sur le range("A2:H60"), là cela fonctionne

2/ Récupérer la suite des colonnes du tableau (qui est variable et s'étend de semaine en semaine : + 1 colonne par semaine) pour la coller dans l'autre workbook
==> C'est ici que mon code ne fonctionne pas.
Partie du code en rouge ci-dessous.


If Sh.Name <> "Lancement" And Sh.Name <> "Conso à date par région" And Sh.Name <> "Conso histo par région" Then
Set wb = Workbooks.Open("C:\Templates\Template Report Région.xls")
Sh.Range("A2:H60").Copy Destination:=wb.Sheets("Votre Région a date").Range("A65536").End(xlUp)

Sh.Range("I2", ActiveSheet.End(xlToRight)).Copy Destination:=wb.Sheets("Votre Région a date").Range("K2")

End If


Je suis un peu bloqué, mais je pense à un problème de syntaxe, n'étant pas très qualifié en vb

Merci d'avance si qqun peut m'aider la dessus
 
G

Guest

Guest
Re : Boucle Copier/Coller sur range variable

Bonjour,

Peut-être comme ceci:

Code:
Sh.Range("I2",[B]Sh.range("I2").End(xlToRight)[/B]).Copy Destination:=wb.Sheets("Votre Région a date").Range("K2")

Evite de passer ton code dans tes messages comme cela, c'est pas très lisible. Utilise le bouton ' #' de la barre d'outil de d'éditeur avancé.

A+
 

WaxistSelecta

XLDnaute Junior
Re : Boucle Copier/Coller sur range variable

Salut Hasco,

merci pour ta réponse et désolé pour mon manque de maitrise des fonctionnalités du forum ;)

Donc, merci cela fonctionne (pas d'erreur)

cependant, je m'apercoit que seule la première ligne du range est sélectionnée..

Le code sélectionne seulement la ligne 2, en fait j'en ai 26 à prendre ...
 

WaxistSelecta

XLDnaute Junior
Re : Boucle Copier/Coller sur range variable

Bonjour Hasco & le forum,

j'ai un peu creusé en essayant de modifier le code que tu m'a proposé Hasco, dans la mesure où celui-ci ne prend en compte qu'une ligne

En fait je dois prendre en compte X lignes dans le copier-coller (actuellement 26 mais potentiellement + ou -)

J'ai essayé cela mais comme prévu c'est faux :)

Code:
  Sh.Range("I" & Sh.Range("I").Columns.End(xlToRight)).Copy Destination:=wb.Sheets("Votre Région a date").Range("K2")

Merci d'avance si cela vous parle!
 
G

Guest

Guest
Re : Boucle Copier/Coller sur range variable

Bonjour,

Alors comme ceci peut-être

Code:
Sh.Range("I2",  Sh.Range("I2").Columns.End(xlToRight)).Resize([COLOR=red][B]nLignes[/B][/COLOR]).Copy
nLignes est soit un nombre de lignes soit une variable représentant ce nombre de lignes
Voir l'aide vba sur Resize.

A+
 

WaxistSelecta

XLDnaute Junior
Re : Boucle Copier/Coller sur range variable

Salut Hasco,

en fait je crois avoir compris mon problème,

ton code produit le même effet, a savoir il ne prends que la ligne 2 (sauf erreur de ma part)..

Visiblement, ce qu'il faudrait que j'arrive à faire c'est sélectionner les lignes ET les colonnes du range... En qq sorte faire un :

xlToRight + xlDown à partir de "I2"
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 070
Membres
103 454
dernier inscrit
Marion devaux