Ouverture par une UserForm d'un fichier Excel (nouveau ou existant)

fehmous

XLDnaute Nouveau
Bonjour à tous,

Voilà ma problématique :

J'ai crée une boite de dialogue (UserForm 1) qui possède 3 boutons :

- Nouveau Excel : ici j'appelle un fichier Excel bien précis (je l'ouvre grâce à l'adresse du fichier) puis j'inscrit une valeur numérique dans une cellule (pour simplifier mon application) : dans ce cas tout marche parfaitement

- Mise à jour d'un Excel : ici l'explorateur s'ouvre je choisit un fichier quelconque puis j'essaye d'écrire dans une cellule : dans ce cas je n'arrive pas à ouvrir un fichier puis inscrire des données dans la feuille Excel correspondant. J'ai l'impression que la feuille n'est pas active ou quelque chose dans ce sens.

- Annuler : En cliquant dessus, la boite de dialogue est caché. Dans cette étape pas de problème

Je vous joins un fichier Excel (version 2010) pour que cela soit plus facilement compréhensible.

Si quelqu'un a une idée pour mettre à jour un fichier Excel (Ouverture du fichier quelconque - Ecriture dans la feuille)

Merci par avance
 

Pièces jointes

  • Test1.xlsm
    23.3 KB · Affichages: 38
  • Test1.xlsm
    23.3 KB · Affichages: 41
  • Test1.xlsm
    23.3 KB · Affichages: 41

PMO2

XLDnaute Accro
Re : Ouverture par une UserForm d'un fichier Excel (nouveau ou existant)

Bonjour,

Essayez la démarche suivante :
1) Mettez la propriété du UserForm ShowModal = False
2) Changez le code de la procédure "Private Sub CommandButton2_Click()" par le code suivant
Code:
Private Sub CommandButton2_Click()

 Dim Monfichier As Variant '///modif pmo
 'Parcourir mes documents pour ouvrir un fichier quelconque
    Monfichier = Application.GetOpenFilename(Title:="Sélection du fichier", FileFilter:="Fichiers Excel *.xls (*.xls),")
    If Not Monfichier = False Then Call ShellOuvre(CStr(Monfichier))  '///modif pmo
    
End Sub
3) Changez tout le code du Module1 par le code suivant
Code:
Sub ShellOuvre(NomFichier As String)
Dim WB As Workbook

'Ouvrir un fichier Excel quelconque
Set WB = Application.Workbooks.Open(NomFichier)

''--- Eventuellement, apporter des changements par code ---
'WB.ActiveSheet.Range("G6").Value = 555
'
''--- Eventuellement, fermer et enregistrer le classeur ---
'WB.Save
'WB.Saved = True
'WB.Close
'Set WB = Nothing
End Sub
 

Pièces jointes

  • Test1_pmo.xlsm
    21.6 KB · Affichages: 36

fehmous

XLDnaute Nouveau
Re : Ouverture par une UserForm d'un fichier Excel (nouveau ou existant)

Bonjour à toi,

Merci pour ton aide c'est parfaitement ce que je chercher, depuis le temps. :D

Je te suis reconnaissant pour avoir pris le temps de me répondre.

Bonne journée

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 360
Messages
2 087 594
Membres
103 604
dernier inscrit
CAROETALEX59