Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…