[EXCEL] Fonction "Dir" et nom de groupe
adrienDN11
Messages postés
589
Statut
Membre
-
adrienDN11 Messages postés 589 Statut Membre -
adrienDN11 Messages postés 589 Statut Membre -
Bonjour,
J'ai, dans un code VBA Excel, une petite ligne qui est :
If Dir(NomFich & "Groupe 1", vbDirectory) <> "" Then
L'ennui, c'est que, même si le groupe (qui est une image + une zone de texte) existe, il me met la ligne Else ...
Pourtant, je suis presque sûr que cette fonction permet de vérifier l'existence du fichier, mais je ne sais pas sélectionner correctement le groupe ...
==========================
CODE :
Private Sub TEST()
Dim NomFich As String
NomFich = ActiveWorkbook.FullName
If Dir(NomFich & "Groupe 1", vbDirectory) <> "" Then
MsgBox "Groupe existe"
Else
MsgBox "Groupe existe pas"
End If
End Sub
===========================
En fait, mon but serait de déterminer l'existence ou pas d'un groupe de ce nom dans le classeur actif.
Ma variable String contient le path complet jusqu'au fichier ".xls"
J'ai cru que rajouter un & permettrait de sélectionner un élément interne au fichier, mais apparemment non ...
Quelqu'un pourrait m'aider ?
Merci d'avance,
Adrien
Excel 2010
--
Je suis juste de passage, Juste un petit aterrissage,
Je vais bientôt repartir, Vers l'Avenir
J'ai, dans un code VBA Excel, une petite ligne qui est :
If Dir(NomFich & "Groupe 1", vbDirectory) <> "" Then
L'ennui, c'est que, même si le groupe (qui est une image + une zone de texte) existe, il me met la ligne Else ...
Pourtant, je suis presque sûr que cette fonction permet de vérifier l'existence du fichier, mais je ne sais pas sélectionner correctement le groupe ...
==========================
CODE :
Private Sub TEST()
Dim NomFich As String
NomFich = ActiveWorkbook.FullName
If Dir(NomFich & "Groupe 1", vbDirectory) <> "" Then
MsgBox "Groupe existe"
Else
MsgBox "Groupe existe pas"
End If
End Sub
===========================
En fait, mon but serait de déterminer l'existence ou pas d'un groupe de ce nom dans le classeur actif.
Ma variable String contient le path complet jusqu'au fichier ".xls"
J'ai cru que rajouter un & permettrait de sélectionner un élément interne au fichier, mais apparemment non ...
Quelqu'un pourrait m'aider ?
Merci d'avance,
Adrien
Excel 2010
--
Je suis juste de passage, Juste un petit aterrissage,
Je vais bientôt repartir, Vers l'Avenir
3 réponses
-
Bonjour,
Merci, je ne savais pas qu'on pouvait faire comme les variables et réussir à voir le path en pas à pas détaillé.
Mais l'ennui, c'est que le code ne fonctionne pas. Lorsque je teste avec une autre valeur type "abracadabra", j'ai le fichier complet avec "abracadabra" à la fin...
Un peu comme si il créait lui-même le nom dans le fichier, sans pour autant qu'il existe ...
Je me demandais si il ne manquait pas une instruction. Je n'ai jamais entendu parler de paths internes, alors comment faire pour sélectionner ce qui est dans mon .xls ?
Merci,
Adrien
-
Salut le forum
Comment faire pour sélectionner ce qui est dans mon .xls ?
Tu ne peux pas le faire directement.
Exemple de code pour vérifier la présence d'une feuille dans un classeur :
Sub SheetExists() Const Wbk$ = "D:\Excel\DataBase\MonClasseur.xls" Const Sht$ = "Data" If OkSheetName(Wbk, Sht) Then MsgBox "La feuille " & Sht & " est présente dans le classeur:" & vbLf & Wbk & " !", 64 End If End Sub Private Function OkSheetName(FullPathFile$, SheetName$) As Boolean Dim Con As Object, Cat As Object, Tbl As Object Set Con = CreateObject("ADODB.Connection") Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" _ & FullPathFile & ";" & "Extended Properties=Excel 8.0;" Set Cat = CreateObject("ADOX.Catalog") Set Cat.ActiveConnection = Con For Each Tbl In Cat.Tables If Left$(Tbl.Name, Len(Tbl.Name) - 1) = SheetName Then OkSheetName = True Exit For End If Next Tbl Set Cat = Nothing: Con.Close: Set Con = Nothing End Function
Mytå
-
Bonjour,
je pense qu'il manque un slash :
If Dir(NomFich & "\Groupe 1", vbDirectory) <> "" Then
Si tu veux être sur du chemin rajoutes une ligne avant ton if :
a= NomFich & "\Groupe 1"
fait f8 sur toute ta macro ou mets un point d'arrêt sur ton if.
passes ta souris sur a et tu verras ton chemin et tu verras s'il manque quelque chose.