Récupération de certaines colonnes dans un autre classeur [Résolu/Fermé]

Signaler
Messages postés
20
Date d'inscription
lundi 15 juin 2015
Statut
Membre
Dernière intervention
9 août 2015
-
Messages postés
20
Date d'inscription
lundi 15 juin 2015
Statut
Membre
Dernière intervention
9 août 2015
-
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

Messages postés
16395
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
5 mars 2021
3 146
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

Messages postés
20
Date d'inscription
lundi 15 juin 2015
Statut
Membre
Dernière intervention
9 août 2015

Merci beaucoup beaucoup !