Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 )

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
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 [] 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)[/]
 

Discussions similaires

Réponses
1
Affichages
372
Réponses
4
Affichages
578
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…