Erreur 400 Macro VBA [Résolu]

reg_bm

XLDnaute Nouveau
Bonjour à tous,
Petite question sur une macro qui ne fonctionne pas alors que je sens que je chauffe ! Elle doit faire un copier coller d'un fichier à l'autre en positionnant le curseur à la dernière ligne saisie. Enfin elle devrait...

Dès que fais un Range("A?").Select, j'obtiens une erreur 400...
Quelqu'un peu t-il m'aider à partir en vacances débarassé de ce souci ?!
Merci,

Code:
Sub copiecollesave()
   
    Application.ScreenUpdating = False
    
    Rep = "D:\Documents and Settings\vohc437\Bureau\macro"
    FichD = "reception.xls"
    FichS = ActiveWorkbook.Name
    Workbooks.Open "D:\Documents and Settings\vohc437\Bureau\macro\reception.xls"
    
    With Workbooks(FichS)
    Fichier = "reception"
        Workbooks("Emission.xls").Sheets(1).Activate
        Sheets(1).Range("A1").CurrentRegion.Copy
        
        Workbooks("Reception.xls").Sheets(1).Activate
        Ligne = Sheets(1).Range("A65536").End(xlUp).Row + 1
        Range("A" & CStr(Ligne)).Select
        Workbooks("Reception.xls").Sheets(1).Paste
        'Workbooks(FichD).Save
        'Workbooks(FichD).Close
        '.SaveAs Filename:=Rep & "\" & FichD
        '.Close
    End With
        Application.ScreenUpdating = True
            
End Sub

A+

RBM
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Erreur 400 Macro VBA

Bonjour Régis, le fil, le forum


Tu n'aimes pas les Dim ?

Pourquoi ?
Code:
Rep = "D:\Documents and Settings\vohc437\Bureau\macro"
    FichD = "reception.xls"
    FichS = ActiveWorkbook.Name
    Workbooks.Open "D:\Documents and Settings\vohc437\Bureau\macro\reception.xls"
et pas ?
Code:
Dim Rep$, FichD$
Rep = "D:\Documents and Settings\vohc437\Bureau\macro\"
    FichD = "reception.xls"
    FichS = ActiveWorkbook.Name
    Workbooks.Open Rep & FichD
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Erreur 400 Macro VBA

Bonjour reg_bm, Bonjour Staple1600 :),

J'en étais là, donc je le poste.
Ce qui m'inquiète ce sont les lignes en commentaires dans le premier post , elles écrasent le fichier qui viens d'être mis à jour en enregistrant le classeur actif à sa place. (Mais c'est peut être pour cela que les lignes sont en commentaires :D)

VB:
Sub copiecollesave()
Dim Rep As String, FichD As String, Ligne As Long
    Application.ScreenUpdating = False
    'Finir Rep par un "\"
    Rep = "D:\Documents and Settings\vohc437\Bureau\macro\"
    FichD = "reception.xls"
    Workbooks.Open Rep & FichD
    With Workbooks("Emission.xls").Sheets(1)
        .Activate
        .Range("A1").CurrentRegion.Copy
    End With
    With Workbooks(FichD).Sheets(1)
        .Activate
        Ligne = .Range("A65536").End(xlUp).Row + 1
        .Range("A" & Ligne).Select
        ActiveSheet.Paste
        '.Close True
    End With
    Application.ScreenUpdating = True
End Sub
Cordialement

EDIt : Le Rep était le mien, pour les tests :)
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Erreur 400 Macro VBA

RE


Je viens de tester ainsi modifié, cela fonctionne
VB:
Sub copiecollesaveBIS()
Dim Rep$, FichS As Workbook, FichD$, wkbD As Workbook
Application.ScreenUpdating = False
Rep = "C:\Temp\": FichD = "test.xls"
Set FichS = ThisWorkbook
Set wkbD = Workbooks.Open(Rep & FichD)
FichS.Sheets(1).Range("A1").CurrentRegion.Copy Destination:=wkbD.Sheets(1).[A1]
'ou si copie dans 1ère cell non vide
'FichS.Sheets(1).Range("A1").CurrentRegion.Copy Destination:=wkbD.Sheets(1).[A65536].End(xlUp)(2)
wkbD.Close True
Application.ScreenUpdating = True
End Sub
EDITION: Bonjour Efgé ;)
L'Activation et la Selection ne sont par forcément nécessaire :)

PS:Ne oublier le Path et le Filename ;) avant de tester à la maison.
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Erreur 400 Macro VBA

Re
L'Activation et la Selection ne sont par forcément nécessaire :)
En tant que seul représentant du Mouvement International Anti Select je suis bien d'accord :D
Mais comme le code d'origine active les classeurs, je ne savais plus comment m'en sortir.
La solution de façilité m'ouvrait grand les bras, alors....

Cordialement

P.S [:D] si certains sont intéréssés pour rejoindre le M.I.A.S, on peux songer à créer des statuts et des cartes de membres (en tout bien tout honneur les membres)[/:D]
 

Discussions similaires

Réponses
1
Affichages
339
Réponses
4
Affichages
563

Statistiques des forums

Discussions
312 496
Messages
2 088 978
Membres
103 996
dernier inscrit
KB4175