VBA - Problème de compatibilité
Bonjour,
Je suis débutant avec les macros Excel, c'est pourquoi je sollicite votre aide pour résoudre le problème suivant:
Ma macro (ci-dessous) fonctionne parfaitement avec Excel 2013 (32bits), mais pas sur un autre poste utilisant Excel 2016 (32bits). La macro n'indique aucune erreur, mais il ne se passe rien.
Le but de ma macro est de récupérer les données de l'ensemble des documents contenu dans un dossier et de les regrouper dans mon fichier.
La deuxième partie n'est pas très importante, c'est de la suppression de colonnes et de la mise en page.
Sub donnée()
Range("A2").Select
Chemin = "C:\Users\XXXX\Dropbox\....\.....\Nomdudossier\"
Fichier = Dir(Chemin & "*.xls")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Range("2:60").Copy
ThisWorkbook.Activate
ActiveSheet.Paste
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Fichier = Dir ' Fichier suivant
Loop
'
Range( _
"C:C,D:D,E:E,F:F,J:J,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC" _
).Select
Range("AC1").Activate
ActiveWindow.SmallScroll ToRight:=8
Selection.Delete Shift:=xlToLeft
'
Rows("2:1416").Select
Selection.Columns.AutoFit
End Sub
Lorsque je change d'ordinateur et donc de version, j'effectue la modification du lien (Mise à jour du nom d'utilisateur "XXXX").
Est-ce que quelqu'un aurait la solution?
Merci d'avance pour votre aide.
Bonsoir
les fichiers Excel que tu récupères sur l'autre poste ne seraient-ils pas au format .xlsx ? ce qui expliquerait qu'il ne se passe rien, car tu recherches des .xls.
Bonne soirée.
Cordia5
Salut
essai ca :
Sub donnée()
Range("A2").Select
Chemin = "C:\Users\XXXX\Dropbox\....\.....\Nomdudossier\"
Fichier = Dir(Chemin & "*.xls")
If Len(Dir(Chemin, vbDirectory)) <= 0 Then
MsgBox "Cette adresse n'existe pas !? - " & Chemin
End If
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
With Workbooks(Fichier)
ThisWorkbook.ActiveSheet.Range("2:60").Value = .ActiveSheet.Range("2:60").Value
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
Fichier = Dir ' Fichier suivant
End With
Loop
'
Range( _
"C:C,D:D,E:E,F:F,J:J,M:M,N:N,O:O,P:P,Q:Q,R:R,S:S,T:T,U:U,V:V,W:W,X:X,Y:Y,AA:AA,AB:AB,AC:AC" _
).Select
Range("AC1").Activate
ActiveWindow.SmallScroll ToRight:=8
Selection.Delete Shift:=xlToLeft
'
Rows("2:1416").Select
Selection.Columns.AutoFit
End Sub
ou comme ca :