Faire des opérations avec deux classeurs

Bonjour,

Mon problème semble bidon mais les solutions usuellement proposées ne fonctionnent pas... Donc je ne comprends plus quoi faire.

J'essaie de travailler sur 2 classeurs Excel, faire des choses du style :

wb1.ws1.cells(1,1) = wb2.ws2.cells(1,1)

Mais voilà rien n'y fait, je n'y arrive pas !

Je déclare les wb à l'aide de l'instruction :

Set wb1 = Workbooks.Open(nom_fichier)

je déclare le ws, etc...

D'après mes recherches, si chaque chose est correctement désignée, cela ne devrait poser aucun problème, et pourtant...

Merci pour votre aide, car j'aurais vraiment besoin de parvenir à réaliser ces opérations.

Bonjour

Sans fichier, il ne sera pas facile de t'aider.

Sache tout de même que pour déclarer un classeur, il faut qu'il soit ouvert et l'instruction est du style :

Set wb1 = Workbooks("nom_fichier")

Bye !

Je ne pense pas que mon problème nécessite un fichier particulier.

Ce que je cherche à faire est à première vue simple :

  • déclarer mes classeurs,
  • déclarer mes feuilles
  • les ouvrir
  • travailler sur les données de ces feuilles, etc..

Sauf que je n'y arrive pas !

Si quelqu'un pouvait me donner un exemple simple qui permet par exemple de faire fonctionner ce genre de code :

classeur1.feuille1.cells(1,1)=classeur2.feuille2.cells(1,1)

ça m'aiderait beaucoup. Des idées pour expliquer la raison de mon échec à réaliser une chose aussi simple ?

Merci.

Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open("C:....xls")
wb1.Sheets(1).Cells(1, 1) = wb2.Sheets(1).Cells(1, 1)

Bonjour

En prenant les choses dans l’ordre (on ne peut pas déclarer un classeur s’il n’est pas ouvert sous peine de bug !) cela donne :

• Ouvrir un classeur

Supposons que ce classeur se nomme « Nom_Classeur »

Il te faut connaître son chemin d’accès qui est quelque chose du genre :

« C:\Mes documents\Dossier 100hp »

Et tu pourras l’ouvrir avec l’instruction :

workbooks.Open filename:="C:\Mes documents\Dossier 100hp\Nom_Classeur.xlsx"  

Ce classeur maintenant ouvert, on peut le déclarer

• Déclarer un classeur

L’instruction sera par exemple :

Set W1 = workbooks(‘’Nom_Classeur.xlsx’’)

• Déclarer une feuille d’un classeur

Là encore, il faut que le classeur qui la contient soit ouvert. L’instruction pourra être, si la feuille s’appelle ‘’Ma_Feuille’’ :

Set mf = W1.sheets(‘’Ma_Feuille’’)

Tu peux maintenant, en aillant un autre fichier actif faire travailler directement macro sur la feuille ‘’Ma_Feuille’’ du classeur ‘’Nom_Classeur’’ avec par exemple l’instruction :

Mf.cells(1,1) = « Essai d’écriture dans la cellule A1 »

OK ?

Bye !

Salut,

Est ce que l'instruction :

Set MON_DOC = Workbooks.Open(Repertoire_MONDOC & "\" & MON_DOC)

Peut être à l'origine de mes problèmes ? Car pour le reste je fais comme tu dis. Je fais référence au fait que je SET en ouvrant.

Merci pour ton aide.

A mon humble avis, cette instruction est incorrecte

Bye !

Ok, je vais regarder de ce côté. Merci à toi.

Rechercher des sujets similaires à "operations deux classeurs"