VBA Coller sélection à la première ligne vierge

telomi

XLDnaute Nouveau
Bonjour à tous,

Voila je suis nouveau sur le forum et… débutant en VBA.
Voilà je cherche à créer une macro qui me permettrait de coller 3 feuilles de 3 workbooks différents (que je sélectionnerai via cette macro)à la suite sur une seule et unique feuille.
Donc pour schématiser :
Classeur C feuille 1 : Bouton=>sélection des classeurs :
Classeur A feuille 1 | Classeur B feuille 1 | Classeur C feuille 1
=
Classeur C feuille 1= (A1+B1+C1)

J’ai bidouillé une macro, tout marche pour la première feuille à coller, en revanche j’ai quelques difficultés à coller à la suite de cette première feuille la deuxième feuille, un message d’erreur apparait me spécifiant de sélectionner une seule cellule à coller ou une « zone de même taille »
Voici le code :
Dim a As Variant, Name As String
Name = ActiveWorkbook.Name
ChDir "C:\Client\Goldman"
a = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _
, "Select XLS", , True)
Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next

End Select

Name2 = ActiveWorkbook.Name
Cells.Select
Selection.Copy

Windows(Name).Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste

Application.DisplayAlerts = False
Windows(Name2).Close
Application.DisplayAlerts = True
End Sub
Quelqu’un pourrait m’aider ?

Merci à tous par avance.
 

Staple1600

XLDnaute Barbatruc
Re : VBA Coller sélection à la première ligne vierge

Bonsoir

Une seconde piste à suivre
(La première ayant été parcourue Lien supprimé ;) )


VB:
Sub test_1()
Dim Name As Workbook, Name2 As Workbook, a, b&
Set Name = ThisWorkbook

ChDir "C:\Temp\"
a = Application.GetOpenFilename("Fichier Excel (*.xls), *.xls", , "Select XLS", , True)

Select Case TypeName(a)
    Case Is = "Boolean"
    Exit Sub
    Case Else
        For b = LBound(a) To UBound(a)
            Workbooks.Open a(b)
        Next
End Select

Set Name2 = ActiveWorkbook
ActiveSheet.UsedRange.Copy Name.Sheets(1).Range("A65536").End(xlUp)(2)
Name2.Close False
End Sub
 
Dernière édition:

telomi

XLDnaute Nouveau
Re : VBA Coller sélection à la première ligne vierge

Bonsoir

Une seconde piste à suivre
(La première ayant été parcourue Lien supprimé ;) )


VB:
Sub test_1()
Dim Name As Workbook, Name2 As Workbook, a, b&
Set Name = ThisWorkbook

ChDir "C:\Temp\"
a = Application.GetOpenFilename("Fichier Excel (*.xls), *.xls", , "Select XLS", , True)

Select Case TypeName(a)
    Case Is = "Boolean"
    Exit Sub
    Case Else
        For b = LBound(a) To UBound(a)
            Workbooks.Open a(b)
        Next
End Select

Set Name2 = ActiveWorkbook
ActiveSheet.UsedRange.Copy Name.Sheets(1).Range("A65536").End(xlUp)(2)
Name2.Close False
End Sub

Un grand merci a vous staple en effet ce code d'origine m'avait bien rendu service pour ma petite bidouille, VBA c'est bien loin pour moi...
En tous cas tout fonctionne a merveille!

Encore merci!
 

Discussions similaires

Statistiques des forums

Discussions
299 917
Messages
1 980 062
Membres
206 966
dernier inscrit
Diopk