coller d'un classeur à un autre?

L

Lolo5555fr

Guest
Bonjour , le forum.....
Je suis à la recherche d'un macro qui fasse la chose suivante...
je veux copier des cellules d'un classeur (exemple feuil1 ; A10)et ensuite
les coller sur une autre classeur(classeur +1) et au même emplacement (feuil1 ,A10 ).
En fait les cellules et les feuilles sont aléatoires.....C'est ce qui me cause problème...

:(
Merci de votre aide
 

Hervé

XLDnaute Barbatruc
Bonjour

Une proposition en VBA, ne connaisant pas ton niveau ???? :

et c'est parti pour une bien belle zopette , :)

Imaginons un classeur 4 et un classeur 5,

dans un module standard du classeur 4, colle ce code :

Code:
Public Sub renvoi()
Dim feuille As String
Dim adresse As String
feuille = ActiveSheet.Name
adresse = ActiveCell.Address
On Error GoTo problème
Workbooks('classeur5'Â'Â').Sheets(feuille).Range(adresse) = ActiveCell.Value

Exit Sub
problème:
MsgBox 'Cette feuille n'existe pas dans le classeur 5': Exit Sub
End Sub

Dans chaque module de feuille du classeur 4 :

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
renvoi
End Sub

Lorsque tu double-cliquera sur une cellule du classeur 4, sa valeur ira ce coller sur la même feuille et à la même adresse dans le classeur 5.

voili, voilou

bon....ben...

J'oubliai de préciser, il faut que les deux classeurs soient ouverts.

Message édité par: Hervé, à: 28/02/2005 14:34
 

Lolo5555Fr

XLDnaute Nouveau
Bonjour Hervé et le forum,
Si je peux me permettre :unsure:
Hervé, ta formule fonctionne bien, je me suis permis de retirer le double clic car les feuilles sont copiés d'un jour au lendemain....
Etant d'une nature 'tordu', je me demande si l'on peux faire la même chose avec une selection de plusieurs cellules :ermm:
Je joins un fichier que ce soit plus clair.......
 

Lolo5555Fr

XLDnaute Nouveau
Bon je retente la piece fait moins de 50 ko et elle est en ZIP [file name=12-04-05_20050301150431.zip size=13568]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/12-04-05_20050301150431.zip[/file] [file name=12-04-05_20050301150431.zip size=13568]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/12-04-05_20050301150431.zip[/file]
 

Pièces jointes

  • 12-04-05_20050301150431.zip
    13.3 KB · Affichages: 11

Hervé

XLDnaute Barbatruc
bonsoir

j'ai télécharger ton fichier, faut pas m'en vouloir, si je ne te répond pas tout à fait en rapport avec ta macro, mais je ne sais pas travailler sur les macros des autres, lol.

pour travailler sur une sélection de cellules, il faut une boucle :

en ayant sélectionner les cellules :

for each c in selection
ton traitement en sachant que c c'est ta cellule de travail.
next c

en connaissant les cellules :

Dim tablo As Variant
tablo = Array('a1', 'c25', 'b23', 'd2', 'e10')
For i = 0 To UBound(tablo)
Range(tablo(i)) = ton traitement
Next i

avec des cellules en colonne (de a1 à a??? par exemple) :

dim c as range
for each c in range('a1:a'&range('a65536').end(xlup).row)
ton traitement en sachant que c c'est ta cellule de travail de a1 a a???.
next c

voilà pour le traitement des cellules à travers une boucle.

J'ai vu à travers ta macro, que tu utilisais select, tu peut t'en passer , le sélection de cellule ralentit le code.

en espérant que je te serais utile....

Salut
hervé
 

Lolo5555Fr

XLDnaute Nouveau
Désolé de vous embêter encore.....en particulier Hervé....
Le probleme de la boucle For i dans ta macro, c'est qu'il faut définir à l'avance les cellules en cause dans le tableau(Array)...Et je pensais faire une selection de plusieurs cellules sur une feuille du genres a2:B6 ...Ou autres.....mais presques jamais les mêmes cellules.

Mais bon, je verrais ça plus tard, j'ai pas le temps cette apres midi.
Par contre, tu me disais que select ralenti le code.....je suis bien d'accord mais je ne sais pas comment m'en passer..... :S
Et encore merci pour tout.
 

Discussions similaires

Statistiques des forums

Discussions
312 499
Messages
2 088 999
Membres
104 001
dernier inscrit
dessinbecm