Bug avec activatesheet d'une variable

  • Initiateur de la discussion Temjeh
  • Date de début
T

Temjeh

Guest
Bonjour à tous

Après des heures d'essaie je solicite enfin votre aide:

Cette macro ouvre le classeur vide
ouvre le classeur qui a le nom qui est en range de classeur1
copie les données de classeur qui a le nom qui est en range ouvert en vide
ferme classeur qui a le nom qui est en range et enregistre save as replace classeur qui a le nom qui est en range par vide
ferme vide
Le bug vient de tous les....Windows(Range('A' & i) & '.xls').Activate .......qu'il n'active pas


Code:
For i = 1 To 24
 Application.ScreenUpdating = False
 
    ChDir 'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve'
    Workbooks.Open Filename:= _
        'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve\\vide.xls'
   
   Windows('Classeur1.xls').Activate
    Sheets('Liste').Select
    Workbooks.Open Filename:= _
        'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve\\' & Range('A' & i) & '.xls'
      
     Columns('A:H').Select
     Selection.Copy
          Windows('Vide.xls').Activate
          Range('A1').Select
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
         Range('A1').Select
    Windows(Range('A' & i) & '.xls').Activate
     Sheets('Téléphone1').Visible = True
      Sheets('Téléphone1').Select
       Range('M9:N28').Select
        Selection.Copy
    
    Windows('Vide.xls').Activate
     Sheets('Téléphone1').Visible = True
      Sheets('Téléphone1').Select
       Range('M9').Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
   Windows(Range('A' & i) & '.xls').Activate
    ActiveWindow.Close SaveChanges:=False

   Windows('Vide.xls').Activate
    ChDir 'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve'
      Application.DisplayAlerts = False
       ActiveWorkbook.SaveAs Filename:=Range('A' & i) & '.xls'
         ActiveWindow.Close

Application.ScreenUpdating = True

Next i

Merci

Temjeh
 

ChTi160

XLDnaute Barbatruc
Salut 'Temjeh
je me pose la question de savoir à quoi sert Le .xls dans cette ligne
Windows(Range('A' & i) & '.xls').Activate
peut être ton Problème vient t'il de là
Amicalement
Jean Marie
New Edition
Voilà ce que j'ai mis
Windows(Range('A' & i).Value).Activate
et celà m'active le Classeur dont le nom est dans la cellule
Range('A' & i)
Amicalement
Jean Marie

Message édité par: ChTi160, à: 04/05/2005 14:30
 
J

Ja

Guest
bonjour,

pourquoi ne mettrais-tu pas le nom du classeur a ouvrir dans une variable et en + il me semble que tu fais reference au range en question mais tu precise pas de quel classeur ( c'est peut etre poru sa qu'il ne reconnait pas, par defaut il le prendra le range du classeur courant)

a+
 
T

Temjeh

Guest
Merci de ton aide

Pour la première loope il N'y a pas de prob mais à la 2ème
Si je lui met: Windows(Range('A' & i)).Activate il me bug a la 18ème ligne sur cette ligne.
Donc juste avant je lui ai resélectionné mon classeur1 pour qu'il ouvre le 2ème de range et bug aussi

Windows('Classeur1.xls').Activate
Windows(Range('A' & i)).Activate

Merci

Temjeh
 
T

Temjeh

Guest
Bonjour Ja

ma liste des classeurs à ouvrir est dans classeur1 en A1 à A24
ptêtre le plus simple serait un code qui loope tout les classeurs de ChDir 'C:program FilesTerritoire 2004TerritoiresMaisonneuve'

Merci

Temjeh
 

ChTi160

XLDnaute Barbatruc
re
je viens de créer une boucle sur 17 classeurs et celà fonctionne

Sub selection()
For i = 1 To 17
Windows(Range('A' & i).Value).Activate
Sheets('Feuil1').Visible = True
Sheets('Feuil1').Select
ActiveSheet.Range('M9:N28').Select
Next
End Sub
Amicalement
Jean Marie
 
T

Temjeh

Guest
Merci à tous pour votre aide j'ai enfin trouvé un raccourci qui sauvegarde ..saveas de la valeur en A1 qui est aussi le nom du classeur:
Pour ceux qui aimerais l'avoir...remplace les macros et la mise en page sauf les données en range:
Nommé un classeur Uptdate_Vide
Mettre sa liste dans col A des classeurs à modifié et hop il les ouvre un a un ....:0)


Sub Uptdate()

For i = 1 To 3

ChDir 'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve'
Workbooks.Open Filename:= _
'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve\\vide.xls'
Windows('Uptdate_Vide').Activate
Workbooks.Open Filename:= _
'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve\\' & Range('A' & i).Value & '.xls'

Columns('A:H').Select
Selection.Copy
Windows('Vide').Activate
Range('A1').Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range('A1').Select

Windows(Range('A1 ') & XLS).Activate
Sheets('Téléphone1').Visible = True
Sheets('Téléphone1').Select
Range('M9:N28').Select
Selection.Copy

Windows('Vide').Activate
Sheets('Téléphone1').Visible = True
Sheets('Téléphone1').Select
Range('M9').Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

ActiveWindow.SelectedSheets.Visible = False
Windows(Range('A1 ') & XLS).Activate

ActiveWindow.Close SaveChanges:=False
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
'C:\\Program Files\\Territoire 2004\\Territoires\\Maisonneuve\\' & Range('A1').Value & '.xls'
ActiveWindow.Close

Next i

End Sub

A++

Temjeh
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 989
dernier inscrit
jralonso