Récupération de certaines colonnes dans un autre classeur

Résolu
Pompom974 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
Pompom974 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis toute nouvelle sur ce forum, et également en VBA. je fais donc appel à vous pour une petite aide si possible.

J'ai le code suivant :

Private Sub ListBox1_Click()

Application.Workbooks("Copie de Classeur1.xlsx").Worksheets (1)

'On sélectionne la feuille 1 du fichier actif
Worksheets("Feuil1").Select
'On l'active pour effectuer les modifications nécessaires
Worksheets("Feuil1").Activate

Dim tableau(655) As String
Dim NumLig As Integer
'On définit une variable temporelle comme un entier
Dim temp As Integer

'On lui assigne la valeur de la plage de cellule de la colonne B
temp = Range("B" & Rows.Count).End(xlUp).Row

For NumLig = 1 To temp
'On affecte au tableau virtuel créé la valeur de la cellule dans le tableau initial
tableau(NumLig - 1) = Range("B" & NumLig).Value
Next NumLig

Application.Workbooks("TableauVBA.xlsx").Worksheets (1)

'On sélectionne la deuxième feuille de calcul et on l'active
Worksheets("Feuil2").Select
Worksheets("Feuil2").Activate

For NumLig = 1 To temp
'On assigne à chaque cellule de la nouvelle feuille la valeur correspondante
Range("A" & NumLig).Value = tableau(NumLig - 1)
Next NumLig

End Sub


Je voudrais récupérer certaines colonnes de "Copie de Classeur1", et les mettre dans "TableauVBA". Cependant le code me renvoit une erreur : "Utilisation incorrecte de la propriété."
Il me montre également que l'erreur est sur la ligne Application.Workbooks...

Après avoir cherché sur internet, je ne comprends toujours pas comment corriger mon erreur. Pourriez vous m'aider ?
Merci

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour
Bienvenue à bord du Titanic! :o)

pas besoin de l'objet application pour un Workbooks

ton code (non testé donc...) sans boucle
Option Explicit
'---------
Private Sub ListBox1_Click()
Dim Temp As Integer, Tableau

With Workbooks("Copie de Classeur1.xlsx").Worksheets(1)
'On lui assigne la valeur de la plage de cellule de la colonne B
Temp = .Range("B" & Rows.Count).End(xlUp).Row
Tableau = Application.Transpose(.Range("B1:B" & Temp))
End With

With Workbooks("TableauVBA.xlsx").Worksheets(2)
.Range("A1").Resize(Temp, 1) = Application.Transpose(Tableau)
.Activate
End With

End Sub

0
Pompom974 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup beaucoup !
0