VBA : faire référence à un autre classeur sans le nommer
Fermé
HELMUT94
Messages postés
25
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
21 mars 2019
-
21 mars 2019 à 11:58
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 22 mars 2019 à 00:11
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 22 mars 2019 à 00:11
A voir également:
- VBA : faire référence à un autre classeur sans le nommer
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Vba dépassement de capacité ✓ - Forum Excel
3 réponses
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
21 mars 2019 à 13:37
21 mars 2019 à 13:37
Bonjour,
C'est un peu risqué, mais tu peux déterminer tous les classeurs VBA ouverts et comparer leur nom.
Un exemple :
Et tu ajoutes une comparaison.
A+
C'est un peu risqué, mais tu peux déterminer tous les classeurs VBA ouverts et comparer leur nom.
Un exemple :
Sub essai() MsgBox ActiveWorkbook.FullName For Each fichier_excel In Workbooks MsgBox fichier_excel.FullName Next fichier_excel End Sub
Et tu ajoutes une comparaison.
A+
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
Modifié le 22 mars 2019 à 00:15
Modifié le 22 mars 2019 à 00:15
Bonjour à tous,
s'assure qu'il n'y a que 2 classeurs d'ouverts sinon éjection :
eric
PS : copie toujours du classeur de la macro vers l'autre, qq soit l'actif.
s'assure qu'il n'y a que 2 classeurs d'ouverts sinon éjection :
Sub deplFeuil() Dim wb2 As Workbook If Workbooks.Count <> 2 Then MsgBox "Il faut 2 classeurs": Exit Sub For Each wb2 In Workbooks If wb2.Name <> ThisWorkbook.Name Then Exit For Next ThisWorkbook.Sheets("AffectationListXLS").Move After:=wb2.Sheets(1) ThisWorkbook.Activate End Sub
eric
PS : copie toujours du classeur de la macro vers l'autre, qq soit l'actif.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
21 mars 2019 à 14:14
21 mars 2019 à 14:14
Bonjour,
Pourquoi "les pros" ? cest ridicule...
Pourquoi "les pros" ? cest ridicule...
Dim fichier As String
ChDir "D:\docus\excel\essai" ' à adapter
fichier = Application.GetOpenFilename("Fichiers xlsx,*.xlsx")
Workbooks.Open Filename:=fichier
HELMUT94
Messages postés
25
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
21 mars 2019
1
21 mars 2019 à 14:29
21 mars 2019 à 14:29
les pros... parce que là par exemple je ne comprends ni ta réponse ni celle de Zoul67
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
21 mars 2019 à 15:28
21 mars 2019 à 15:28
pourtant, il n'y a pas besoin de "pros" pour résoudre un tel problème
pour apprendre le vba
https://excel.developpez.com/cours/?page=prog#environnement
et aussi, très pédagogique et zen (mon préféré pour les bases)
http://www.info-3000.com/vbvba/index.php
bonne découverte :o)
pour apprendre le vba
https://excel.developpez.com/cours/?page=prog#environnement
et aussi, très pédagogique et zen (mon préféré pour les bases)
http://www.info-3000.com/vbvba/index.php
bonne découverte :o)
HELMUT94
Messages postés
25
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
21 mars 2019
1
21 mars 2019 à 15:49
21 mars 2019 à 15:49
thanks, je vais regarder
21 mars 2019 à 14:30
risqué par rapport à quoi ?
je ne sais pas ajouter une comparaison
donc si je mets "fullname" à la place du nom du fichier, ça marche ?