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

Boucle Copier/Coller sur range variable

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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 ...
 
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!
 
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+
 
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"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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