Macro vba excel: copier une plage de données

[Fermé]
Signaler
Messages postés
2
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 mai 2009
-
Messages postés
2
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 mai 2009
-
Bonjour,
Est-il possible de créer une macro VBA sous Excel qui donne l'instruction de copier une plage de données (avec nombre de lignes et de colonnes variables selon les fichiers)?
Je débute, j'ai trouvé un exemple de macro pour copier avec un nombre de lignes variables mais avec un nombre de colonnes fixes. Merci de votre aide

2 réponses

Messages postés
1596
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
21 décembre 2020
757
le button doit etre sur la feuille qui contien les donnée a copyée , sinon pour mettre le button sur une autre feuille il faut ajouter la phrase en gras


sheets("mafeuille").select
Dim derlig As Long
Dim x As Long
derlig = Range("A65536").End(xlUp).Row
x = Range("iv2").End(xlToLeft).Column
Range(Cells(2, 1), Cells(derlig - 1, x)).Copy
5
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
2
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
12 mai 2009

super Merci beaucoup
Messages postés
1596
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
21 décembre 2020
757
il suffit de mettre les nom en variable dans dux cellule que tu renseigne
Merci mais je ne vois pas trop comment faire. Aujourd'hui, ma macro est:
Dim derlig As Long

derlig = Range("A65536").End(xlUp).Row
Range(Cells(1 + 1, 1), Cells(derlig - 1, 10)).Copy

pour un tableau de 10 colonnes (je commence à la deuxième ligne et je ne veux pas prendre la dernière qui est une ligne de total).
Merci d'avance
Messages postés
1596
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
21 décembre 2020
757 > nath94lp
Dim derlig As Long
Dim x As Long
derlig = Range("A65536").End(xlUp).Row
x = Range("iv2").End(xlToLeft).Column
Range(Cells(2, 1), Cells(derlig - 1, x)).copy
>
Messages postés
1596
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
21 décembre 2020

Super, merci beaucoup.
Je vais abuser mais j'ai encore une question. J'ai affecté cette macro à un bouton mais est-ce que je peux l'utiliser dans d'autres feuilles de calcul?.
Messages postés
1596
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
21 décembre 2020
757 > nath94lp
1-- si mes message en peut vous etre utiles alors voter pour aider simplifier la recherche ( le petit carrée vert )
2- oui c'est possible a une condition d'ajouter une instruction

sheets("nom de lafeuille ").select , nom de lka feuille est celui de la feuille ou se trouve le tableau
>
Messages postés
1596
Date d'inscription
mardi 2 octobre 2007
Statut
Membre
Dernière intervention
21 décembre 2020

quand je lance la macro par le bouton sur un autre ficher, cela me dit: erreur d'éxécution '9' l'indice n'appartient pas à la sélection. Si je fais fin, par contre, cela marche parfaitement.

Ma macro est:
Dim derlig As Long
Dim x As Long
derlig = Range("A65536").End(xlUp).Row
x = Range("iv2").End(xlToLeft).Column
Range(Cells(2, 1), Cells(derlig - 1, x)).Copy
sheets("macro").Select

"macro" est le nom de la feuille.