Portée variable vba excel
RésoluRV71 Messages postés 610 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 27 novembre 2024 - 12 sept. 2024 à 14:00
- Portée variable vba excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Portee wifi - Guide
8 réponses
11 sept. 2024 à 19:38
Bonsoir,
Est-ce que la variable "nom_fichier" est bien déclarée en "Public" dans un module standard?
Modifié le 11 sept. 2024 à 20:33
j'ai déclaré du coup dans le module du userform, d'ailleur je ne sais pas pourquoi j'ai voulu déclarer en glogal, question d'habitude.
Mais là j'ai soit de la peau de soce soit faut que j'arrête, mais j'ai un problème dans le code de mon userForm
-> le code user form sur un bouton, avec 2 listes
Public Sub btn_creer_fichier_Click() 'On met dans une variable le nom sans l'extension nom_fichier = Split(ThisWorkbook.Name, ".")(0) 'on vérifie que les 2 listes ont été choisies If IsNull(list_mois) Or IsNull(list_annee) Or Val(list_annee) = 0 Then 's'il manque un choix on avertit et on sort MsgBox "choisir un mois ET une année" Exit Sub End If ' si on est là on peut procèder à la création du nouveau fichier 'On récupère le dossier courrant repertoire = CurDir 'on cacatene le tout Dim fichier As String fichier = repertoire & "\" & nom_fichier & list_annee & list_mois & ".xlsm" MsgBox ("le nom du fichier à comparer est : " & fichier) 'là je vois bien le chemin complet et le fichier avec extension xlsm If Dir(fichier) <> "" Then MsgBox "Le fichier '" & fichier & "' existe" Else MsgBox "Le fichier n'a pas été trouvé" End If
A chaque fois j'ai le msgbox "le fichier n'a pas été trouvé"
pourtant je peux certifier que le fichier "Sxxxxxxx20241.xlsm" (avec le répertoire dans le msgbox) existe dans le répertoire courant.
Je pense que je passe à coté d'un détail mais je sèche...
Merci
Modifié le 11 sept. 2024 à 20:52
voici le code entier qui est dans un bouton d'un user form
Le fichier que je selectionne via les 2 listes et bien retourné par la msgbox (chemin et extension) et existe dans le répertoire.
Ca m'échappe...
Public Sub btn_creer_fichier_Click() 'On met dans une variable le nom sans l'extension nom_fichier = Split(ThisWorkbook.Name, ".")(0) 'on vérifie que les 2 listes ont été choisies If IsNull(list_mois) Or IsNull(list_annee) Or Val(list_annee) = 0 Then 's'il manque un choix on avertit et on sort MsgBox "choisir un mois ET une année" Exit Sub End If ' si on est là on peut procèder à la création du nouveau fichier 'On récupère le dossier courrant repertoire = CurDir 'on cacatene le tout Dim fichier As String fichier = repertoire & "\" & nom_fichier & list_annee & list_mois & ".xlsm" MsgBox ("le nom du fichier à comparer est : " & fichier) ' là j'ai la msgb qui me semble OK, voir plus bas If Dir(fichier) <> "" Then MsgBox "Le fichier '" & fichier & "' existe" Else MsgBox "Le fichier n'a pas été trouvé" End If End Sub
Voici le msgbox de la ligne
MsgBox ("le nom du fichier à comparer est : " & fichier)
Sincèrement je ne vois pas
Merci
11 sept. 2024 à 20:54
Voici une capture du fichier qui n'est pas détecté dans l'explorateur, meme dossier que le fichier excel
11 sept. 2024 à 20:56
ce forum est vraiment merdique, je ne peux pas mettre une autre image
voici un lien cjoint
https://www.cjoint.com/c/NIls2L85o36
Serieux entre les commentaires et les réponses, cetains en plusieurs pasges, faudrait que Jeff se réveille, c'est impossible ce truc.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question11 sept. 2024 à 20:56
Re-,
Je pense avoir répondu à la question initiale...
(et n'ai aucune envie de prolonger sur ta pelote de fils, sur ton sujet parent)
Bon courage
11 sept. 2024 à 20:59
ta pelote de fils
????????????
11 sept. 2024 à 21:06
Re-,
Sur un forum (quel qu’il soit), lorsqu'un sujet dépasse un certain nombre de posts, ou fil, on appelle cela une pelote...
En est un exemple...
bientôt 80 réponses, et toujours pas de solutions...
Peut-être :
- Revoir le concept
- Remettre tout à plat
- ....
Bref, bon courage...
11 sept. 2024 à 21:02
Mon dernier msgbox
MsgBox ("le nom du fichier à comparer est : " & fichier) If Dir(fichier) <> "" Then MsgBox "Le fichier '" & fichier & "' existe" Else MsgBox "Le fichier n'a pas été trouvé" End If
m'affiche bien le chemin et le fichier donc j'imagine que cela fonctionne à ce niveau
12 sept. 2024 à 07:02
bonjour,
au lieu de curdir, utilise:
ThisWorkbook.Path
Modifié le 12 sept. 2024 à 09:27
"je passe à coté d'un détail"
"existe dans le répertoire courant"
"meme dossier que le fichier excel"
Et tu évites soigneusement d'indiquer le nom de ce répertoire.
Le nom finit par apparaitre dans les images que tu partages.
Apparement, tu les partages sans les regarder.
Regarde bien les "détails" des images partagées le 11 sept. 2024 à 20:43 et le 11 sept. 2024 à 20:56.
12 sept. 2024 à 14:00
Bien vu !!!
J'avais la tête dedans et n'avait pas fait attention.
En fait le curdir me renvoie je ne sais pas pourquoi un autre dossier.
Avec le
ThisWorkbook.Path
ca fonctionne !
Merci pour le coup de main et d'oeil :)