Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA copy

6 réponses
Avatar
Michelb
Bonjour à tous
L'instruction:
Worksheets(SourceSheet).range("A1:T44").Copy _
Destination:=Worksheets(aSheet).Range("A1")
fonctionne sans problème
mais
Worksheets(SourceSheet).range(cells(1,1),cells(44,20).Copy _
Destination:=Worksheets(aSheet).Range(cells(1,1)
ne fonctionne pas
Si qqu'un peut me donner une solution, et éventuellement une fonction pour
transformer cells(r,c) en référence de type A1, je lui en serais
reconnaissant
michelB

6 réponses

Avatar
papou
Bonjour
Il te manque une parenthèse sur cette ligne pour fermer Range :
Worksheets(SourceSheet).range(cells(1,1),cells(44,20)).Copy

Cordialement
Pascal


"Michelb" a écrit dans le message de news:
c6aq18$5bt$
Bonjour à tous
L'instruction:
Worksheets(SourceSheet).range("A1:T44").Copy _
Destination:=Worksheets(aSheet).Range("A1")
fonctionne sans problème
mais
Worksheets(SourceSheet).range(cells(1,1),cells(44,20).Copy _
Destination:=Worksheets(aSheet).Range(cells(1,1)
ne fonctionne pas
Si qqu'un peut me donner une solution, et éventuellement une fonction pour
transformer cells(r,c) en référence de type A1, je lui en serais
reconnaissant
michelB




Avatar
garnote
Salut Michelb,

Papou l'a dit; il te manquait une parenthèse.
Tu pourrais aussi utiliser cette syntaxe sans oublier de mettre
un espace entre Copy et Worksheets("Feuil2").Cells(1, 1).
Le _ est là pour indiquer un saut de ligne.

Sub CopieColle()
Worksheets("Feuil1").Range(Cells(1, 1), Cells(44, 20)).Copy _
Worksheets("Feuil2").Cells(1, 1)
End Sub

Serge

"Michelb" a écrit dans le message de news:
c6aq18$5bt$
Bonjour à tous
L'instruction:
Worksheets(SourceSheet).range("A1:T44").Copy _
Destination:=Worksheets(aSheet).Range("A1")
fonctionne sans problème
mais
Worksheets(SourceSheet).range(cells(1,1),cells(44,20).Copy _
Destination:=Worksheets(aSheet).Range(cells(1,1)
ne fonctionne pas
Si qqu'un peut me donner une solution, et éventuellement une fonction pour
transformer cells(r,c) en référence de type A1, je lui en serais
reconnaissant
michelB




Avatar
garnote
Le _ est là pour indiquer un saut de ligne. !!!


On peut écrire une instruction sur plusieurs lignes en
utilisant un espace suivi d'un caractère de soulignement .

Sub CopieColle()
Worksheets("Feuil1").Range(Cells(1, 1), Cells(44, 20)).Copy _
Worksheets("Feuil2").Cells(1, 1)
End Sub

Avatar
Michelb
Merci à toi et à garnote pour vos réponses rapides.
Mais le problème ne vient pas de la parenthèse absente(mauvais copier
coller), excel m'aurait d'ailleurs notifier une erreur.
Il semble bien que seule la syntaxe de type "A1" soit acceptée dans ce cas.
Je suis sous Windows XP SP1 et Office Pro XP(sans SP)
michelB

"papou" a écrit dans le message de
news:
Bonjour
Il te manque une parenthèse sur cette ligne pour fermer Range :
Worksheets(SourceSheet).range(cells(1,1),cells(44,20)).Copy

Cordialement
Pascal


"Michelb" a écrit dans le message de news:
c6aq18$5bt$
Bonjour à tous
L'instruction:
Worksheets(SourceSheet).range("A1:T44").Copy _
Destination:=Worksheets(aSheet).Range("A1")
fonctionne sans problème
mais
Worksheets(SourceSheet).range(cells(1,1),cells(44,20).Copy _
Destination:=Worksheets(aSheet).Range(cells(1,1)
ne fonctionne pas
Si qqu'un peut me donner une solution, et éventuellement une fonction
pour


transformer cells(r,c) en référence de type A1, je lui en serais
reconnaissant
michelB








Avatar
papou
Re
Dans ces conditions modifies comme cela :
Dim PlgSource$
PlgSource = Range(Cells(1, 1), Cells(44, 20)).Address
Worksheets(SourceSheet).Range(PlgSource).Copy _
Destination:=Worksheets(aSheet).Cells(1, 1)

Cordialement
Pascal

"Michelb" a écrit dans le message de news:
c6aq18$5bt$
Bonjour à tous
L'instruction:
Worksheets(SourceSheet).range("A1:T44").Copy _
Destination:=Worksheets(aSheet).Range("A1")
fonctionne sans problème
mais
Worksheets(SourceSheet).range(cells(1,1),cells(44,20).Copy _
Destination:=Worksheets(aSheet).Range(cells(1,1)
ne fonctionne pas
Si qqu'un peut me donner une solution, et éventuellement une fonction pour
transformer cells(r,c) en référence de type A1, je lui en serais
reconnaissant
michelB




Avatar
Michelb
Effectivement c'est La solution. Je te remercie, habituellement je développe
des applications sous Delphi. Je ne comprends pas bien la subtilité de la
chose mais l'important c'est que ça fonctionne.
Encore merci
michelB

"papou" a écrit dans le message de
news:
Re
Dans ces conditions modifies comme cela :
Dim PlgSource$
PlgSource = Range(Cells(1, 1), Cells(44, 20)).Address
Worksheets(SourceSheet).Range(PlgSource).Copy _
Destination:=Worksheets(aSheet).Cells(1, 1)

Cordialement
Pascal

"Michelb" a écrit dans le message de news:
c6aq18$5bt$
Bonjour à tous
L'instruction:
Worksheets(SourceSheet).range("A1:T44").Copy _
Destination:=Worksheets(aSheet).Range("A1")
fonctionne sans problème
mais
Worksheets(SourceSheet).range(cells(1,1),cells(44,20).Copy _
Destination:=Worksheets(aSheet).Range(cells(1,1)
ne fonctionne pas
Si qqu'un peut me donner une solution, et éventuellement une fonction
pour


transformer cells(r,c) en référence de type A1, je lui en serais
reconnaissant
michelB