Macro excel copier coller
Dernière réponse : dans Programmation
Bonjour,
comme vous allez vous en rendre compte je debute dans le VB...
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
mais voilà si je suis positionné sur la "feuil2" ca fonctionne très bien.Mais maheureusement je suis et je veux rester sur la "feuil1" et là ca se complique car j'ai un message d'erreur...Bien sur je ne veux surtout pas sauter d'une feuille à l'autre...
si vous pouviez me guider ce serait sympa je vous remercie
comme vous allez vous en rendre compte je debute dans le VB...
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
mais voilà si je suis positionné sur la "feuil2" ca fonctionne très bien.Mais maheureusement je suis et je veux rester sur la "feuil1" et là ca se complique car j'ai un message d'erreur...Bien sur je ne veux surtout pas sauter d'une feuille à l'autre...
si vous pouviez me guider ce serait sympa je vous remercie
Autres pages sur : macro excel copier coller
Lassé par la pub ? Créez un compte
Bonjour,
comme vous allez vous en rendre compte je debute dans le VB...
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
mais voilà si je suis positionné sur la "feuil2" ca fonctionne très bien.Mais maheureusement je suis et je veux rester sur la "feuil1" et là ca se complique car j'ai un message d'erreur...Bien sur je ne veux surtout pas sauter d'une feuille à l'autre...
si vous pouviez me guider ce serait sympa je vous remercie
comme vous allez vous en rendre compte je debute dans le VB...
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
mais voilà si je suis positionné sur la "feuil2" ca fonctionne très bien.Mais maheureusement je suis et je veux rester sur la "feuil1" et là ca se complique car j'ai un message d'erreur...Bien sur je ne veux surtout pas sauter d'une feuille à l'autre...
si vous pouviez me guider ce serait sympa je vous remercie
Bonjour,
comme vous allez vous en rendre compte je debute dans le VB...
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
mais voilà si je suis positionné sur la "feuil2" ca fonctionne très bien.Mais maheureusement je suis et je veux rester sur la "feuil1" et là ca se complique car j'ai un message d'erreur...Bien sur je ne veux surtout pas sauter d'une feuille à l'autre...
si vous pouviez me guider ce serait sympa je vous remercie
comme vous allez vous en rendre compte je debute dans le VB...
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
mais voilà si je suis positionné sur la "feuil2" ca fonctionne très bien.Mais maheureusement je suis et je veux rester sur la "feuil1" et là ca se complique car j'ai un message d'erreur...Bien sur je ne veux surtout pas sauter d'une feuille à l'autre...
si vous pouviez me guider ce serait sympa je vous remercie
Mille excuses...
je réédite ma question ....
Bonjour,
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
si je suis positionné sur la "feuil2" ca fonctionne très bien.
Mais maheureusement si je suis positionné sur la "feuil1" là
ca se complique car j'ai ce message d'erreur...
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
vous aurez compris que je ne peux helas me positionner sur la feuil1
si vous pouviez me venir en aide ce serait sympa
merci
je réédite ma question ....
Bonjour,
voilà mon problème je voudrai faire un copier coller de plusieurs cellules
un peu dans ce style ...
Sheets("feuil2").Range(Cells(3, 1), Cells(14, 1)).Copy _
Destination:=Worksheets("feuil1").Range("A1")
si je suis positionné sur la "feuil2" ca fonctionne très bien.
Mais maheureusement si je suis positionné sur la "feuil1" là
ca se complique car j'ai ce message d'erreur...
Erreur d'exécution '1004':
Erreur définie par l'application ou par l'objet
vous aurez compris que je ne peux helas me positionner sur la feuil1
si vous pouviez me venir en aide ce serait sympa
merci
Bonjour,
Si ta plage de cellules a copier est toujours la même cette solution fonctionne si tu met la même plage (même nombre de ligne et de colonnes)de chaque côté:
C'est une piste à creuser, ou tu peux aussi prévoir l'utilisation d'une boucle "FOR...." "NEXT"
EDIT: Par acquis de conscience j'ai quand même testé ceci, "Feuil1" étant la feuille active et ça a fonctionné :
Ton probleme vient du "Range (cells (),cells())"
Si ta plage de cellules a copier est toujours la même cette solution fonctionne si tu met la même plage (même nombre de ligne et de colonnes)de chaque côté:
Sheets ("Feuil1").range("A1:A12").value = Sheets("Feuil2").range("A3:A14").value
C'est une piste à creuser, ou tu peux aussi prévoir l'utilisation d'une boucle "FOR...." "NEXT"
EDIT: Par acquis de conscience j'ai quand même testé ceci, "Feuil1" étant la feuille active et ça a fonctionné :
Sheets ("Feuil2").range("A3:A14").copy Sheets("Feuil1").range("A1")
Ton probleme vient du "Range (cells (),cells())"
Bonjour Rvtoulon
Et merci d'avoir répondu si vite à ma demande
Effectivement les 2 solutions que tu me proposes fonctionnent
Malheureusement j'ai besoin du "Range (cells (),cells())"
car j'ai plus de 70 groupes de longueurs différentes à copier d'une feuille à l'autre
et à des emplacements bien définies.
J'ai bien pensé utilisé les boucles "FOR....NEXT" mais là aussi la vitesse d'exécution est gravement affectée ...
Merci encore pour ta démarche, c'est sympa de ta part...
je vais essayer de voir si je peux tout de même exploiter tes solutions ailleurs dans mon programme..
Et merci d'avoir répondu si vite à ma demande
Effectivement les 2 solutions que tu me proposes fonctionnent
Malheureusement j'ai besoin du "Range (cells (),cells())"
car j'ai plus de 70 groupes de longueurs différentes à copier d'une feuille à l'autre
et à des emplacements bien définies.
J'ai bien pensé utilisé les boucles "FOR....NEXT" mais là aussi la vitesse d'exécution est gravement affectée ...
Merci encore pour ta démarche, c'est sympa de ta part...
je vais essayer de voir si je peux tout de même exploiter tes solutions ailleurs dans mon programme..
Bonjour,
La nuit porte conseil et avec un peu de réflexion je me suis rappelé qu'il faut indiquer à cells() dans quelle feuille il se trouve, comme ceci:
pour éviter d'écrire Feuil2 a chaque fois il faut utiliser "with", "end with":
La nuit porte conseil et avec un peu de réflexion je me suis rappelé qu'il faut indiquer à cells() dans quelle feuille il se trouve, comme ceci:
Sheets("Feuil2").Range(sheets("Feuil2").Cells(3, 1), sheets("Feuil2").Cells(14, 1)).Copy Sheets("Feuil1").Range("A1")
pour éviter d'écrire Feuil2 a chaque fois il faut utiliser "with", "end with":
With Sheets("Feuil2")
.Range(.Cells(3, 1), .Cells(14, 1)).Copy Sheets("Feuil1").Range("A1")
End With
Bien sûr que ça ne marche pas.
Alors d'abord un peu de rigueur. Un classeur Excel peut contenir toutes sortes de feuilles. Celles qui nous intéressent sont les feuilles de calculs exclusivement. Alors utilisons Worksheet explicitement.
Ce code est exécuté par la macro, indépendamment de la feuille sur laquelle nous nous trouvons. Admettons que nous soyons sur la feuille 2-T-OM (j'appelle mes feuilles comme je veux).
Le code précédent sera vu par VB comme celui-ci :
La solution est maintenant triviale, non ?
-------------------
Le VB devrait accepter ce genre de syntaxe :
Un bon moyen de ne pas surcharger le code est d'utiliser une clause With :
Alors d'abord un peu de rigueur. Un classeur Excel peut contenir toutes sortes de feuilles. Celles qui nous intéressent sont les feuilles de calculs exclusivement. Alors utilisons Worksheet explicitement.
Worksheets("feuil2" ).Range(Cells(3, 1), Cells(14, 1)).Copy Destination:=Worksheets("feuil1" ).Range("A1" )
Ce code est exécuté par la macro, indépendamment de la feuille sur laquelle nous nous trouvons. Admettons que nous soyons sur la feuille 2-T-OM (j'appelle mes feuilles comme je veux).
Le code précédent sera vu par VB comme celui-ci :
Worksheets("feuil2" ).Range(Worksheets("2-T-OM" ).Cells(3, 1), Worksheets("2-T-OM" ).Cells(14, 1)).Copy Worksheets("feuil1" ).Range("A1" )
La solution est maintenant triviale, non ?
-------------------
Le VB devrait accepter ce genre de syntaxe :
Las, ça ne marche pas, à cause des objets implicites qui s'insinuent partout.
Range(Worksheets("2-T-OM" ).Cells(3, 1), Worksheets("2-T-OM" ).Cells(14, 1))
Un bon moyen de ne pas surcharger le code est d'utiliser une clause With :
Personnellement, j'utilise systématiquement des variables sur mes feuilles, avec des noms courts.
With Worksheets("feuil2" )
.Range(.Cells(3, 1), .Cells(14, 1)).Copy Worksheets("feuil1" ).Range("A1" )
End With
bravo! excellent !
ca marche
merci RV toulon et merci aussi Zeb
je ne pensais pas qu'il fallait renseigner par 2 fois le Worksheets dans le Range
mais ca y est j'ai pigé .
encore un grand merci à vous 2, tout seul je ne pense pas que j'aurai trouvé..
je sais maintenant ou trouver réponses à mes problèmes...
ca marche
merci RV toulon et merci aussi Zeb
je ne pensais pas qu'il fallait renseigner par 2 fois le Worksheets dans le Range
mais ca y est j'ai pigé .
encore un grand merci à vous 2, tout seul je ne pense pas que j'aurai trouvé..
je sais maintenant ou trouver réponses à mes problèmes...
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumMacro excel copier coller nouvelle feuille
- ForumMacro excel copier avec liaison
- ForumMacro excel copier une cellule
- ForumMacro excel copier un fichier excel
- ForumExcel copier coller date
- ForumExcel copier coller cellule
- ForumExcel copier coller plage
- ForumExcel copier coller autre feuille
- ForumExcel copier coller sous condition
- ForumMacro excel copier feuille en dernier
- Voir plus