Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir un classeur dont on ne connaît pas le nom

7 réponses
Avatar
alain Lebayle
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le seul
hic est que le classeur A n'a pas forcement le nom qu'il doit avoir afin
d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain

7 réponses

Avatar
Daniel.C
Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que deux
d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le message de
news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le seul
hic est que le classeur A n'a pas forcement le nom qu'il doit avoir afin
d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain






Avatar
alain Lebayle
Bonjour Daniel
Je te remercie, mais je n'arrive pas à mettre en place ta syntaxe.

Dim Nouveau
Dim Ancien

Ancien = Windows(2)
Nouveau = ThisWorkbook.Name

Mavar_test = Workbooks(Ancien).Sheets("Dep").Range("A2").Value
If Mavar_test <> "ALSACE" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXXX*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If




"Daniel.C" a écrit dans le message de news:

Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que
deux d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le message
de news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le
seul hic est que le classeur A n'a pas forcement le nom qu'il doit avoir
afin d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain










Avatar
Jacky
Bonjour,

Essaie:
ancien = Workbooks(2).Name
nouveau = ThisWorkbook.Name
----
----
--
Salutations
JJ


"alain Lebayle" a écrit dans le message de
news: 48f9a320$0$7932$
Bonjour Daniel
Je te remercie, mais je n'arrive pas à mettre en place ta syntaxe.

Dim Nouveau
Dim Ancien

Ancien = Windows(2)
Nouveau = ThisWorkbook.Name

Mavar_test = Workbooks(Ancien).Sheets("Dep").Range("A2").Value
If Mavar_test <> "ALSACE" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXXX*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If




"Daniel.C" a écrit dans le message de news:

Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que
deux d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le message
de news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le
seul hic est que le classeur A n'a pas forcement le nom qu'il doit avoir
afin d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain














Avatar
alain Lebayle
Bonjour et merci beaucoup, cela fonctionne parfaitement !
Alain

"alain Lebayle" a écrit dans le message de
news: 48f9a320$0$7932$
Bonjour Daniel
Je te remercie, mais je n'arrive pas à mettre en place ta syntaxe.

Dim Nouveau
Dim Ancien

Ancien = Windows(2)
Nouveau = ThisWorkbook.Name

Mavar_test = Workbooks(Ancien).Sheets("Dep").Range("A2").Value
If Mavar_test <> "ALSACE" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXXX*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If




"Daniel.C" a écrit dans le message de news:

Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que
deux d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le message
de news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le
seul hic est que le classeur A n'a pas forcement le nom qu'il doit avoir
afin d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain














Avatar
alain Lebayle
En fait, je souhaite faire le test suivant, je souhaite lorsque je suis sur
le classeur ouvert déclencher une procédure afin de savoir :
1 - Si un deuxième classeur est ouvert
2 - Si le classeur demandé est bien le bon afin d'importer ses données dans
le classeur actif.
Je vous remercie
Alain

Application.ScreenUpdating = False

Dim Nouveau
Dim Ancien

Ancien = Workbooks(2).Name
Nouveau = ThisWorkbook.Name

On Error Resume Next
Workbooks(Ancien).Activate
If Err <> 0 Then
MsgBox "Vous devez ouvrir le fichier coorespondant à ...", _
vbExclamation, " Fichier manquant !"
Exit Sub
End If

Mavar_test = Workbooks(Ancien).Sheets("Travail").Range("F2").Value

If Mavar_test <> "SCO 2006" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXX.xls*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If



"Jacky" a écrit dans le message de news:
%
Bonjour,

Essaie:
ancien = Workbooks(2).Name
nouveau = ThisWorkbook.Name
----
----
--
Salutations
JJ


"alain Lebayle" a écrit dans le message
de news: 48f9a320$0$7932$
Bonjour Daniel
Je te remercie, mais je n'arrive pas à mettre en place ta syntaxe.

Dim Nouveau
Dim Ancien

Ancien = Windows(2)
Nouveau = ThisWorkbook.Name

Mavar_test = Workbooks(Ancien).Sheets("Dep").Range("A2").Value
If Mavar_test <> "ALSACE" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXXX*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If




"Daniel.C" a écrit dans le message de news:

Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que
deux d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le message
de news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le
seul hic est que le classeur A n'a pas forcement le nom qu'il doit
avoir afin d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain


















Avatar
Jacky
Re...
Je te propose cette solution.
'-------------------------
Sub jj()
Application.ScreenUpdating = False
Dim Nouveau As String
Dim Ancien As String
On Error GoTo erreur
Ancien = Workbooks(2).Name
Nouveau = ThisWorkbook.Name
Mavar_test = Workbooks(Ancien).Sheets("Travail").Range("F2").Value
If Mavar_test <> "SCO 2006" Then
MsgBox "Le Deuxième classeur ouvert ne comporte pas l'instruction necessaire
pour la copie" & Chr(10) & "Ouvrez le classeur qui correspond et
recommencez"
Workbooks(Ancien).Close
Else
MsgBox "ici le code de copie"
End If
Exit Sub
erreur:
MsgBox "Cette instruction nécessite un deuxième classeur qui n'est pas
ouvert" & Chr(10) & "Ouvrez le classeur qui correspond et recommencez"
End Sub
'------------------------

--
Salutations
JJ


"alain Lebayle" a écrit dans le message de
news: 48f9e0c7$0$7938$
En fait, je souhaite faire le test suivant, je souhaite lorsque je suis
sur le classeur ouvert déclencher une procédure afin de savoir :
1 - Si un deuxième classeur est ouvert
2 - Si le classeur demandé est bien le bon afin d'importer ses données
dans le classeur actif.
Je vous remercie
Alain

Application.ScreenUpdating = False

Dim Nouveau
Dim Ancien

Ancien = Workbooks(2).Name
Nouveau = ThisWorkbook.Name

On Error Resume Next
Workbooks(Ancien).Activate
If Err <> 0 Then
MsgBox "Vous devez ouvrir le fichier coorespondant à ...", _
vbExclamation, " Fichier manquant !"
Exit Sub
End If

Mavar_test = Workbooks(Ancien).Sheets("Travail").Range("F2").Value

If Mavar_test <> "SCO 2006" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXX.xls*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If



"Jacky" a écrit dans le message de news:
%
Bonjour,

Essaie:
ancien = Workbooks(2).Name
nouveau = ThisWorkbook.Name
----
----
--
Salutations
JJ


"alain Lebayle" a écrit dans le message
de news: 48f9a320$0$7932$
Bonjour Daniel
Je te remercie, mais je n'arrive pas à mettre en place ta syntaxe.

Dim Nouveau
Dim Ancien

Ancien = Windows(2)
Nouveau = ThisWorkbook.Name

Mavar_test = Workbooks(Ancien).Sheets("Dep").Range("A2").Value
If Mavar_test <> "ALSACE" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXXX*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If




"Daniel.C" a écrit dans le message de news:

Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que
deux d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le
message de news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le
seul hic est que le classeur A n'a pas forcement le nom qu'il doit
avoir afin d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain






















Avatar
alain Lebayle
Mille bravo et merci, c'est exactement cela !
Très bonne soirée
Alain

"Jacky" a écrit dans le message de news:
%232A$
Re...
Je te propose cette solution.
'-------------------------
Sub jj()
Application.ScreenUpdating = False
Dim Nouveau As String
Dim Ancien As String
On Error GoTo erreur
Ancien = Workbooks(2).Name
Nouveau = ThisWorkbook.Name
Mavar_test = Workbooks(Ancien).Sheets("Travail").Range("F2").Value
If Mavar_test <> "SCO 2006" Then
MsgBox "Le Deuxième classeur ouvert ne comporte pas l'instruction
necessaire pour la copie" & Chr(10) & "Ouvrez le classeur qui correspond
et recommencez"
Workbooks(Ancien).Close
Else
MsgBox "ici le code de copie"
End If
Exit Sub
erreur:
MsgBox "Cette instruction nécessite un deuxième classeur qui n'est pas
ouvert" & Chr(10) & "Ouvrez le classeur qui correspond et recommencez"
End Sub
'------------------------

--
Salutations
JJ


"alain Lebayle" a écrit dans le message
de news: 48f9e0c7$0$7938$
En fait, je souhaite faire le test suivant, je souhaite lorsque je suis
sur le classeur ouvert déclencher une procédure afin de savoir :
1 - Si un deuxième classeur est ouvert
2 - Si le classeur demandé est bien le bon afin d'importer ses données
dans le classeur actif.
Je vous remercie
Alain

Application.ScreenUpdating = False

Dim Nouveau
Dim Ancien

Ancien = Workbooks(2).Name
Nouveau = ThisWorkbook.Name

On Error Resume Next
Workbooks(Ancien).Activate
If Err <> 0 Then
MsgBox "Vous devez ouvrir le fichier coorespondant à ...", _
vbExclamation, " Fichier manquant !"
Exit Sub
End If

Mavar_test = Workbooks(Ancien).Sheets("Travail").Range("F2").Value

If Mavar_test <> "SCO 2006" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXX.xls*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If



"Jacky" a écrit dans le message de news:
%
Bonjour,

Essaie:
ancien = Workbooks(2).Name
nouveau = ThisWorkbook.Name
----
----
--
Salutations
JJ


"alain Lebayle" a écrit dans le message
de news: 48f9a320$0$7932$
Bonjour Daniel
Je te remercie, mais je n'arrive pas à mettre en place ta syntaxe.

Dim Nouveau
Dim Ancien

Ancien = Windows(2)
Nouveau = ThisWorkbook.Name

Mavar_test = Workbooks(Ancien).Sheets("Dep").Range("A2").Value
If Mavar_test <> "ALSACE" Then
MsgBox "Vous devez ouvrir le fichier *XXXXXXX*", _
vbExclamation, " Fichier inconnu !"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks(Ancien).Close
Exit Sub
End If




"Daniel.C" a écrit dans le message de news:

Bonsoir.
Tu le référencies avec : Windows(2), en admettant qu'il n'y en ait que
deux d'ouvert
par exemple :
Windows(2).ActiveSheet.Range("A1").Copy
--
Cordialement.
Daniel
"alain Lebayle" a écrit dans le
message de news: 48f8ece2$0$7933$
Bonsoir,
je souhaite copier des données d'un classeur A vers un classeur B, le
seul hic est que le classeur A n'a pas forcement le nom qu'il doit
avoir afin d'importer les données.
Mais il est ouvert "derrière" l'autre.
Je vous remercie
Alain