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

[Résolu] Copier donnée fichier excel depuis Userform

  • Initiateur de la discussion Initiateur de la discussion arthur203
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

arthur203

XLDnaute Junior
Bonsoir le forum,

Je souhaiterai pouvoir copier des données d'un classeur dont j'ignore le chemin depuis un bouton d'un userform et les coller dans mon classeur (où se trouve mon userform) j'ai testé ça mais ça ne fonctionne pas :

Code:
Private Sub CommandButton65_Click()
Dim wbcible, wbsource As Workbook
    Set wbcible = ThisWorkbook
    set wbsource =Application.GetOpenFilename

    With wbsource
        For lig = 3 To 500
            If ActiveSheet.Cells(lig, 18) = 2 Then
                ActiveSheet.Range("A3:A" & ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AA3")
                ActiveSheet.Range("B3:B" & ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("A3")
                ActiveSheet.Range("F3:F" & ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AB3")
                ActiveSheet.Range("K3:K" & ActiveSheet.Range("K" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("L3")
                ActiveSheet.Range("M3:M" & ActiveSheet.Range("M" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AD3")
                ActiveSheet.Range("N3:N" & ActiveSheet.Range("N" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AG3")
                ActiveSheet.Range("O3:O" & ActiveSheet.Range("O" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AL3")
                ActiveSheet.Range("Q3:Q" & ActiveSheet.Range("Q" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AF3")
                ActiveSheet.Range("S3:S" & ActiveSheet.Range("S" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("AE3")
                ActiveSheet.Range("T3:T" & ActiveSheet.Range("T" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("feuil1").Range("Y3")
            End If
        Next
    End With
'wbsource.Close


End Sub

Autre question rien à voir: est-il possible de nommer un label d'un userform en fonction d'une variable i ? Concrètement un truc du genre (mais qui marcherai lol):

For i = 1 to 10

Labeli.caption = cells(i,1).value

next i

Merci de votre aide !
 
Dernière édition:
Re : Copier donnée fichier excel depuis Userform

Bonjour,

ca ne fonctionne pas ?? cela veut dire quoi ? message d'erreur ou pas le résultat attendu ? et sur quele ligne l'erreur ? déjà tu devrais être arreté ici :
Code:
set wbsource =Application.GetOpenFilename

la méthode "GetOpenFilename" ne renvoie pas un objet, mais une donnée de type "string" (chemin et nom du fichier selectionné)... modifie comme suit :
Code:
Dim wbsource As String
wbsource = Application.GetOpenFilename

A noter également, un bloc "with" :
Code:
With wbsource
que tu n'utilises pas....

bonne journée
@+
 
Re : Copier donnée fichier excel depuis Userform

Salut Pierrot,

En effet j'avais le message d'erreur qui apparaissait au niveau de la ligne set wbsource "erreur d'execution ... objet requis"

En essayant ta solution j'ai toujours un message d'erreur sur la même ligne: "erreur de compilation ... objet requis"

Merci de votre aide!
 
Re : Copier donnée fichier excel depuis Userform

oui oui bien sûr voici mon nouveau code:

Dim wbcible As Workbook
Dim wbsource As String

Set wbcible = ThisWorkbook
Set wbsource = Application.GetOpenFilename

wbsource.Activate

For lig = 3 To 500
If ActiveSheet.Cells(lig, 18) = 2 Then
ActiveSheet.Range("A3:A" & ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("Process & Controls").Range("AA3")
ActiveSheet.Range("B3:B" & ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("Process & Controls").Range("A3")
ActiveSheet.Range("F3:F" & ActiveSheet.Range("F" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("Process & Controls").Range("AB3")
ActiveSheet.Range("K3:K" & ActiveSheet.Range("K" & Rows.Count).End(xlUp).Row).Copy wbcible.Sheets("Process & Controls").Range("L3")
End If
Next

wbsource.Close
 
Re : Copier donnée fichier excel depuis Userform

Re,

enlève le "set" :
Code:
Set wbsource = Application.GetOpenFilename

pas présent dans le code que je t'ai donné... et attention la méthode "GetOpenFilename" n'ouvrira pas le fichier....
 
Re : Copier donnée fichier excel depuis Userform

En effet le set n'y était pas au temps pour moi .

Par contre vu que je ne peux pas sélectionner mon fichier je fais comment pour importer les données ?

Je ne comprend pas cette solution merci de m'éclairer.

Arthur
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
367
Réponses
4
Affichages
332
Réponses
15
Affichages
662
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
7
Affichages
533
Réponses
6
Affichages
522
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…