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

  • Initiateur de la discussion Initiateur de la discussion fehmous
  • 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 !

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

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

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. 😀

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

Bonne journée

A+
 
- 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
5
Affichages
327
Retour