probleme activation de fenetre

lagodille

XLDnaute Occasionnel
bonjour,
voici mon code:
Sub appel()
Dim r1, r2, r3, r4, r5, t1, t2, t3, t4, t5, myMultipleRange As Range
Sheets("p.1").Select
Set r1 = Sheets("p.1").Range("N12,N15,N18,N21,N24,N27")
Set r2 = Sheets("p.1").Range("N42,N45,N48,N51,N54,N57")
Set r3 = Sheets("p.1").Range("N72,N75,N78,N81,N84,N87")
Set r4 = Sheets("p.1").Range("N102,N105,N108,N111,N114,N117")
Set r5 = Sheets("p.1").Range("N132,N135,N138,N141,N144,N147")
Set myMultipleRange = Union(r1, r2, r3, r4, r5)
myMultipleRange.Copy
ChDir "D:\"
Workbooks.Open Filename:="D:\COCO.xls"
Sheets("Global").Select
Range("AU5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("G5").Select

Windows("TOTO " & "*" & "*").Activate

Sheets("p.1").Select
Set t1 = Sheets("p.1").Range("N11,N14,N17,N20,N23,N26")
Set t2 = Sheets("p.1").Range("N41,N44,N47,N50,N53,N56")
Set t3 = Sheets("p.1").Range("N71,N74,N77,N80,N83,N86")
Set t4 = Sheets("p.1").Range("N101,N104,N107,N110,N113,N116")
Set t5 = Sheets("p.1").Range("N131,N134,N137,N140,N143,N146")
Set myMultipleRange = Union(t1, t2, t3, t4, t5)
myMultipleRange.Copy

Windows("COCO").Activate
Sheets("Global").Select
Range("G5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("G5").Select
ActiveWorkbook.Save
ActiveWindow.Close
Range("A3").Select
Application.CutCopyMode = False

End Sub

j'ai 2 fichiers, un TOTO 03-03-08 225538 et un COCO.
j'ouvre TOTO 03-03-08 225538 et des macro me copie des données de TOTO 03-03-08 225538 dans COCO.
Etant donné que TOTO 03-03-08 225538 change de nom à chaque enregistrement suivant la date et l'heure, pour passer d'un fichier à un autre dans ma macro j'utilise Windows("TOTO " & "*" & "*").Activate et Windows("COCO").Activate.
Windows("TOTO " & "*" & "*").Activate est rejeté :
erreur d'exécution 9; l'indice n'appartient pas à la sélection

je ne comprends pas pourquoi ?

merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : probleme activation de fenetre

Bonjour Lagodille

peut être comme ci dessous, une boucle sur les classeurs ouverts et affectation d'une variable, ensuite tu peux utiliser directement la variable "wb1" pour faire référence à ce classeur :

Code:
Dim wb As Workbook, wb1 As Workbook
For Each wb In Workbooks
    If wb.Name Like "TOTO*" Then Set wb1 = wb: Exit For
Next wb
If wb1 Is Nothing Then MsgBox "classeur toto non  ouvert": Exit Sub
wb1.Activate

j'ai mis un test, au cas ou le classeur ne serait pas ouvert.

bonne journée
@+
 

Statistiques des forums

Discussions
312 563
Messages
2 089 681
Membres
104 252
dernier inscrit
dbsromaric