VBA(Excel)Comment acceder sur un 2ème classeur ouvert
2 réponses
Claude l''ancien
Bonjour à tous
J'ai un fichier Excel ouvert contenenant 2 classeurs.
Après avoir récupéré une valeur sur le 1er classeur (ça grace à vous, je
sais maintenant comment faire), par une procédure contenue dans mon 1er
classeur, je veux la transférer dans une cellule du 2ème classeur.
J'ai déja fait [ Workbooks(2).Activate ], mais pour définir un Range du 2ème
classeur, je n'ai pas trouvé.
Pouvez vous m'aider s'il vous plait.
Merci de votre précieuse réponse
Claude Azoulai
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gloops
Bonjour,
Oh, voilà une version d'Excel avec laquelle je n'ai pas travaillé. Mais comme le message remonte à dix jours, je m'en vais m'y coller, on verra bien.
Le fait d'avoir deux classeurs dans le même fichier est pour moi une nouveauté, mais si on a Workbooks(2), c'est qu'on a accès au classeur.
Je m'attends à ce qu'en-dessous il n'y ait guère de changement, donc, on va pouvoir accéder à un champ par une de ces syntaxes :
Dim S As Worksheet Dim F As Field
Set S = Workbooks(2).Worksheets(1) 'première feuille du deuxième classeur
Set F = S.Cells(1, 1) 'A1
Set F = S.Range(Cells(1, 1), Cells(2, 2)) 'A1:B2
Set F = S.Range("A1:B2")
En cas de doute on pourra presser la touche F2 pour accéder à l'explorateur d'objets. __________________________ Claude l''ancien a écrit :
Bonjour à tous J'ai un fichier Excel ouvert contenenant 2 classeurs. Après avoir récupéré une valeur sur le 1er classeur (ça grace à vous, je sais maintenant comment faire), par une procédure contenue dans mon 1er classeur, je veux la transférer dans une cellule du 2ème classeur. J'ai déja fait [ Workbooks(2).Activate ], mais pour définir un Range du 2ème classeur, je n'ai pas trouvé. Pouvez vous m'aider s'il vous plait. Merci de votre précieuse réponse Claude Azoulai
Bonjour,
Oh, voilà une version d'Excel avec laquelle je n'ai pas travaillé. Mais
comme le message remonte à dix jours, je m'en vais m'y coller, on verra
bien.
Le fait d'avoir deux classeurs dans le même fichier est pour moi une
nouveauté, mais si on a Workbooks(2), c'est qu'on a accès au classeur.
Je m'attends à ce qu'en-dessous il n'y ait guère de changement, donc, on
va pouvoir accéder à un champ par une de ces syntaxes :
Dim S As Worksheet
Dim F As Field
Set S = Workbooks(2).Worksheets(1)
'première feuille du deuxième classeur
Set F = S.Cells(1, 1) 'A1
Set F = S.Range(Cells(1, 1), Cells(2, 2)) 'A1:B2
Set F = S.Range("A1:B2")
En cas de doute on pourra presser la touche F2 pour accéder à
l'explorateur d'objets.
__________________________
Claude l''ancien a écrit :
Bonjour à tous
J'ai un fichier Excel ouvert contenenant 2 classeurs.
Après avoir récupéré une valeur sur le 1er classeur (ça grace à vous, je
sais maintenant comment faire), par une procédure contenue dans mon 1er
classeur, je veux la transférer dans une cellule du 2ème classeur.
J'ai déja fait [ Workbooks(2).Activate ], mais pour définir un Range du 2ème
classeur, je n'ai pas trouvé.
Pouvez vous m'aider s'il vous plait.
Merci de votre précieuse réponse
Claude Azoulai
Oh, voilà une version d'Excel avec laquelle je n'ai pas travaillé. Mais comme le message remonte à dix jours, je m'en vais m'y coller, on verra bien.
Le fait d'avoir deux classeurs dans le même fichier est pour moi une nouveauté, mais si on a Workbooks(2), c'est qu'on a accès au classeur.
Je m'attends à ce qu'en-dessous il n'y ait guère de changement, donc, on va pouvoir accéder à un champ par une de ces syntaxes :
Dim S As Worksheet Dim F As Field
Set S = Workbooks(2).Worksheets(1) 'première feuille du deuxième classeur
Set F = S.Cells(1, 1) 'A1
Set F = S.Range(Cells(1, 1), Cells(2, 2)) 'A1:B2
Set F = S.Range("A1:B2")
En cas de doute on pourra presser la touche F2 pour accéder à l'explorateur d'objets. __________________________ Claude l''ancien a écrit :
Bonjour à tous J'ai un fichier Excel ouvert contenenant 2 classeurs. Après avoir récupéré une valeur sur le 1er classeur (ça grace à vous, je sais maintenant comment faire), par une procédure contenue dans mon 1er classeur, je veux la transférer dans une cellule du 2ème classeur. J'ai déja fait [ Workbooks(2).Activate ], mais pour définir un Range du 2ème classeur, je n'ai pas trouvé. Pouvez vous m'aider s'il vous plait. Merci de votre précieuse réponse Claude Azoulai