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

Le
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
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17562511
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" 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






alain Lebayle
Le #17565951
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"
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" 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










Jacky
Le #17566281
Bonjour,

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


"alain Lebayle" 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"
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" 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














alain Lebayle
Le #17568001
Bonjour et merci beaucoup, cela fonctionne parfaitement !
Alain

"alain Lebayle" 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"
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" 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














alain Lebayle
Le #17568111
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" %
Bonjour,

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


"alain Lebayle" 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"
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" 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


















Jacky
Le #17568271
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" 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" %
Bonjour,

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


"alain Lebayle" 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"
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" 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






















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

"Jacky" %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" 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" %
Bonjour,

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


"alain Lebayle" 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"
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" 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


























Publicité
Poster une réponse
Anonyme