[non résolu] Ouverture d'un fichier par userform

Laosurlamontagne

XLDnaute Occasionnel
Bonjour,

J'espère que vous saurez m'apporter une solution, je galère pas mal...

Le but est de synchroniser des données entre un fichier "mère" et des fichiers "source".

Pour ce faire, je voudrais par un userform pouvoir sélectionner le fichier afin qu'il soit traité comme variable pour que la suite de ma macro puisse récupérer les infos nécessaire et les copier dans le fichier "mère".

J'avoue que je ne trouve pas de réponse (ouvrir un fichier excel par userform est un peu étrange en soit...)...

Une idée ?
 

titiborregan5

XLDnaute Accro
Re : [non résolu] Ouverture d'un fichier par userform

Bonjour laosurlamontage, le forum

avec le code suivant, tu ouvres l'explorateur de fichiers pour choisir celui que tu veux... ce qui revient à un userform non?
Code:
nf = Application.GetOpenFilename("fichiers Xls,*.xls")
If Not nf = False Then
        Workbooks.Open Filename:=nf
    End If

En espérant que ça te convienne...
A+
Tibo
 

Dranreb

XLDnaute Barbatruc
Re : [non résolu] Ouverture d'un fichier par userform

Bonjour.
Une autre possibilité: afficher l'Userform en non modal pour permettre à l'opérateur d'activer ou d'ouvrir le fichier source afin de déclencher au moyen d'un bouton l'opération sur le classeur actif pris comme tel.
Si ça vous intéresse, j'ai un Userform à usage général servant à préciser par leur sélection toutes les plages qui seront impliquées dans un traitement à venir, lequel est lancé par un bouton "Go!" à la dernière étape. Il permet entre temps de naviguer entre les étapes de spécifications.
 
Dernière édition:

Laosurlamontagne

XLDnaute Occasionnel
Re : [non résolu] Ouverture d'un fichier par userform

Merci pour votre retour ! Pardonnez moi l'inertie de ma réponse, quelques soucis de connection

En fait, je patauge complétement... en cause mon "haut" niveau en VBA. Le code pour sélectionner un fichier marche bien mais maintenant c'est la construction de mon userform qui me pose problème.

Mon userform est constitué de 2 fenêtres de texte et de 2 bouton "Yes" et "No". Mon idée est d'afficher le contenue d'une case du fichier source (identifier par un ID) pour la comparer au fichier mère et décider si on l'intègre ou pas dans le fichier "mère":

Code:
Private Sub userform_initialize()

Dim ref_principal As String, i, date_ref_modif, date_source_modif, ligne As Integer

'identification du fichier source
    nf = Application.GetOpenFilename("fichiers Xlsm,*.xlsm")
    If Not nf = False Then
    Workbooks.Open Filename:=nf
    End If

With Sheets("LoP")
    For i = 2 To .Range("C65000").End(xlUp).Row
        ref_principal = .Range("C" & i)
        date_ref_modif = .Range("O" & i)
        
'identification des lignes avec le même ID:
        On Error Resume Next
        ligne = WorksheetFunction.Match(ref_principal, Workbooks(nf).Worksheets("Lop").Range("C3:C500"), 0)
        date_source_modif = Workbooks(nf).Worksheets("LoP").Range("0" & ligne)
        
'comparaison des dates des dernière modification
        If date_ref_modif <> date_source_modif Then
'affichage si différent
        TextBox1.Value = .Range("J" & i).Value
        TextBox2.Value = Workbooks(nf).Worksheets("LoP").Range("J" & ligne).Value
        End If
        
'confirmation ou non de la modification:
        If Bt_Yes.Value = True Then
        .Range("J" & i).Value = Workbooks(nf).Worksheets("LoP").Range("J" & ligne).Value
        End If
        If Bt_No.Value = True Then
        Next
        End If
End With
End Sub


Mais j'ai du mal à faire fonctionner l'ensemble et surtout attribuer des actions aux boutons Yes et No. Vous sauriez m'aider ?
 

titiborregan5

XLDnaute Accro
Re : [non résolu] Ouverture d'un fichier par userform

Re,
tu as du mal à accéder au code des boutons Yes et No ou tu as du mal à construire le code te permettant de faire l'action du Yes et du No (sachant que le no généralement est plutôt simple :) )?

Mets un petit fichier exemple, ce sera sûrement plus simple pour nous!
 

Discussions similaires

Statistiques des forums

Discussions
312 434
Messages
2 088 380
Membres
103 838
dernier inscrit
noureddine