VBA : faire référence à un autre classeur sans le nommer
HELMUT94
Messages postés
28
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour les pros de VBA,
j'ai deux classeurs ouverts, dans ma macro je veux déplacer la feuille de l'un vers l'autre : facile
par contre mes classeurs ne s'appelleront pas toujours pareil, comment je fais pour que la macro fonctionne avec n'importe quel classeur
je sais qu'il y a la notion ActiveWorkbook qui désigne le classeur dans lequel je suis mais comment désigner le second classeur sans le nommer puisque son nom sera différent à la prochaine utilisation de macro?
par quoi remplacer "Workbooks("RequeteGlobalePlatXLS.xls")" ?
Sub test()
'
' test Macro
'
'
Sheets("AffectationListXLS").Select
Sheets("AffectationListXLS").Move After:=Workbooks( _
"RequeteGlobalePlatXLS.xls").Sheets(1)
Windows("Classeur4").Activate
End Sub
j'ai deux classeurs ouverts, dans ma macro je veux déplacer la feuille de l'un vers l'autre : facile
par contre mes classeurs ne s'appelleront pas toujours pareil, comment je fais pour que la macro fonctionne avec n'importe quel classeur
je sais qu'il y a la notion ActiveWorkbook qui désigne le classeur dans lequel je suis mais comment désigner le second classeur sans le nommer puisque son nom sera différent à la prochaine utilisation de macro?
par quoi remplacer "Workbooks("RequeteGlobalePlatXLS.xls")" ?
Sub test()
'
' test Macro
'
'
Sheets("AffectationListXLS").Select
Sheets("AffectationListXLS").Move After:=Workbooks( _
"RequeteGlobalePlatXLS.xls").Sheets(1)
Windows("Classeur4").Activate
End Sub
Configuration: Windows / Chrome 73.0.3683.86
A voir également:
- VBA : faire référence à un autre classeur sans le nommer
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
3 réponses
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+
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.
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
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)
risqué par rapport à quoi ?
je ne sais pas ajouter une comparaison
donc si je mets "fullname" à la place du nom du fichier, ça marche ?