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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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