Recherche d'un copier/coller "élégant"...

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 !

BenHarber

XLDnaute Occasionnel
Bonjour Le Forum,
Dans une macro, je souhaiterais faire un transfert de données d'un fichier vers un autre non pas en utilisant le copier/coller "traditionnel" mais en ayant recours à un tableau.
J'étais tombé une fois par hasard dans l'aide Excel sur cette possibilité mais impossible de remettre la main dessus ! C'était du style "je mets toutes les valeurs de la plage à B10 à D20 du fichier 1 dans un tableau (de 3 colonnes et 11 lignes) et je "déverse" ces données dans la plage de C20 à E 30 du fichier 2.

Quelqu'un saurait-t-il m'indiquer un exemple de code, ou alors me dire où cela se trouve dans l'aide Excel ?

Merci d'avance pour votre collaboration.

Cordialement,
 
Re : Recherche d'un copier/coller "élégant"...

Bonjour

sur un fil récent

Sub toto()
Dim matrice()
matrice = Range("A1:A20")
End Sub
Et là on se rend compte qu'excel mets les cellules dans matrice

et l'inverse
Dim matrice(1 To 20, 1 To 1)
sheets("Feuil1").Range("H11:H30") = matrice()
 
Re : Recherche d'un copier/coller "élégant"...

bonjour le fil

à partir de l'exemple d'Eric

Dim matrice as variant

matrice=sheets("Feuil1").Range("H11:H30")

sheets("Feuil2").Range("A1").resize(ubound(matrice,1),ubound(matrice,2))=matrice

à bientôt
 
Re : Recherche d'un copier/coller "élégant"...

Salut

encore plus simple :

tu définis tes deux plages PlageA et PlageB (du genre Set PlageA = Feuil1.Range("A1:C100"), idem pour PlageB)
et tu écris :

PlageA.Value = PlageB.Value

et ça suffit
 
Re : Recherche d'un copier/coller "élégant"...

ERIC S, Pascal76, Bebere et Ti,
Une fois de plus, vous croisez mon chemin...et une fois de plus c'est pour m'apporter des solutions toutes valables ! MERCI.
Pour cette fois, je garderai la proposition de Ti qui est d'une simplicité extrême...et qui répond au delà de ce que je recherchais !

Mais je garde les autres bien au chaud, persuadé qu'elles me serviront prochainement.

Encore merci, vous êtes vraiment top !

Cordialement,
 
Re : Recherche d'un copier/coller "élégant"...

Bonjour

Merci Ti.
J'avais essayé formula mais ça ne marchait pas.
Te faisant confiance j'ai donc retenté.
Et là cela semblait dépendre des formules.
Ayant remarqué que quand cela marchait il mettait les formules en US : SOMME devenant SUM, j'ai essayé FormulaLocal : et là miracle toutes les formules marchent.

Donc c'est super car j'avais conclu que, pour une mystérieuse raison, on ne pouvait déclarer une plage égale à une autre avec les formules.
 
Re : Recherche d'un copier/coller "élégant"...

Bonjour le Forum (je reprends 5 jours après la discussion initiale...)
Je viens de me rendre compte que la méthode "PlageA.Value = PlageB.Value", lorsqu'elle opère sur des DATES format européen, les colle au FORMAT AMERICAIN !!
A votre avis, y-a-t-il un moyen pour contourner cet inconvénient (du style copier/coller que les formats) ?

Merci d'avance pour vos suggestions.

Cordialement
 
Re : Recherche d'un copier/coller "élégant"...

Bonjour Pascal,
Non : ma plage comprend des colonnes de textes, d'autre de chiffres et d'autres de dates.
Au besoin, je pourrais peut-être traiter ces colonnes "Date" spécifiquement (cad les déclarer en variable PlageC), mais pour les traiter comment...??
 
- 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

Retour