[VBA execl] Ajout d'un bouton parcourir
Résolu/Fermé
schont
Messages postés
33
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
11 juillet 2013
-
17 juil. 2007 à 11:58
Gab - 3 janv. 2018 à 15:22
Gab - 3 janv. 2018 à 15:22
A voir également:
- [VBA execl] Ajout d'un bouton parcourir
- Ajout rapide snap - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Bouton shift pc - Forum Jeux vidéo
- Comment ajouter quelqu'un sur facebook sans le bouton ajouter - Guide
4 réponses
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
59
Modifié le 31 janv. 2018 à 15:34
Modifié le 31 janv. 2018 à 15:34
Bonjour schont,
Je pense que c'est ce que tu cherches :
Adapter les noms de contrôles à ton application.
Cordialement.
Je pense que c'est ce que tu cherches :
Private Sub CommandButton1_Click() With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Show UserForm1.TextBox1.Text = .SelectedItems(1) End With End Sub
Adapter les noms de contrôles à ton application.
Cordialement.
schont
Messages postés
33
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
11 juillet 2013
10
11 juil. 2013 à 14:23
11 juil. 2013 à 14:23
Bonjour,
La méthode .GetOpenFilename ne semble pas proposer ce genre d'option.
Je pense que l'on peut néanmoins simplifier un peu le code :
Cordialement,
La méthode .GetOpenFilename ne semble pas proposer ce genre d'option.
Je pense que l'on peut néanmoins simplifier un peu le code :
Dim nom_fichier As String nom_fichier = Application.GetOpenFilename nom_fichier = Mid(nom_fichier, InStrRev(nom_fichier, "\") + 1, InStrRev(nom_fichier, ".") - InStrRev(nom_fichier, "\") - 1) Range("a1") = nom_fichier
Cordialement,
schont
Messages postés
33
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
11 juillet 2013
10
18 juil. 2007 à 15:16
18 juil. 2007 à 15:16
Je viens de m'apercevoir que lorsque l'on clique sur le bouton parcourir puis qu'après au lieu de cliquer sur "ouvrir" on clique sur "annuler" une erreur revient "erreur d'execution'5'" et un débogage est proposé.
j'ai essayé avec
mais avec ca même quand je clique sur "ouvrir" la message box s'ouvre et affiche le message.
Merci de m'aider à résoudre ce problème
j'ai essayé avec
If FileToOpen = False Then MsgBox "Operation annulée", vbExclamation Exit Sub End If
mais avec ca même quand je clique sur "ouvrir" la message box s'ouvre et affiche le message.
Merci de m'aider à résoudre ce problème
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
59
18 juil. 2007 à 19:06
18 juil. 2007 à 19:06
Bonsoir schont,
Je ne saisis pas le pourquoi de cette erreur, mais une solution simple et rapide est d'ajouter une ligne de traitement de l'erreur en début de la procédure ;
Voilà qui est réparé !
Cordialement
Je ne saisis pas le pourquoi de cette erreur, mais une solution simple et rapide est d'ajouter une ligne de traitement de l'erreur en début de la procédure ;
Private Sub CommandButton1_Click() On Error Resume Next With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Show UserForm1.TextBox1.Text = .SelectedItems(1) End With End Sub
Voilà qui est réparé !
Cordialement
schont
Messages postés
33
Date d'inscription
samedi 14 juillet 2007
Statut
Membre
Dernière intervention
11 juillet 2013
10
>
Papou93
Messages postés
146
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
5 juin 2012
19 juil. 2007 à 10:03
19 juil. 2007 à 10:03
Merci
Bonjour,
Est-ce possible d'utiliser le bouton parcourir mais de récupéré uniquement le nom du fichier sans le chemin complet ni l'extension .xlsx?
C'est à dire : "monfichier" au lieu de "C:\dossier\monfichier.xlsx"
Car pour l'instant je n'ai pu faire qu'une manipulation compliqué pour isolerle nom :
Dim fichier As String
Dim fichier1 As String
Dim fichier2 As String
Dim fichier3 As String
Dim nom As String
fichier1 = Range("a1").Value
For i = Len(fichier1) - 5 To 1 Step -1
fichier2 = Mid(fichier1, i, 1)
If fichier2 = "\" Then
GoTo nom_fichier
End If
Next i
nom_fichier: fichier3 = Mid(fichier1, i + 1)
fichier = Left(fichier3, Len(fichier3) - 5)
Range("a1") = fichier
Merci
Est-ce possible d'utiliser le bouton parcourir mais de récupéré uniquement le nom du fichier sans le chemin complet ni l'extension .xlsx?
C'est à dire : "monfichier" au lieu de "C:\dossier\monfichier.xlsx"
Car pour l'instant je n'ai pu faire qu'une manipulation compliqué pour isolerle nom :
Dim fichier As String
Dim fichier1 As String
Dim fichier2 As String
Dim fichier3 As String
Dim nom As String
fichier1 = Range("a1").Value
For i = Len(fichier1) - 5 To 1 Step -1
fichier2 = Mid(fichier1, i, 1)
If fichier2 = "\" Then
GoTo nom_fichier
End If
Next i
nom_fichier: fichier3 = Mid(fichier1, i + 1)
fichier = Left(fichier3, Len(fichier3) - 5)
Range("a1") = fichier
Merci
17 juil. 2007 à 14:09
Private Sub CommandButton3_Click()
FileToOpen = Application _
.GetOpenFilename("Fichiers PDF (*.pdf), *.pdf", 1, "Rechercher...")
If FileToOpen = False Then
MsgBox "Operation annulée", vbExclamation
Exit Sub
End If
' manque un truc ?!
End Sub
Petite question maintenant le chemin du fichier est copié dans ma TextBox11 et quand je clique sur un bouton "compléter" la valeur de ma TextBox est recopiée dans une cellule, le code est :
Sheets("Feuil1").Cells(Lg, "I").Value = UserForm1.TextBox11.Value
Le chemin du fichier s'affiche bien mais pas sous forme de lien ce qui est pratique pour l'ouvrir en un seul clic.
C'est une option à cocher dans excel pour qu'il transforme un chemin en lien (je crois que word le fait tout seul quand on tape une adresse internet) ou c'est par VBA qu'il faut passer ?
En tout cas bravo et merci pour la rapidité et l'efficacité !
17 juil. 2007 à 14:31
Tu peux remplacer Selection par une adresse de cellule fixe.
Cordialement
17 juil. 2007 à 14:43
3 janv. 2018 à 15:22