Bonjour à toutes et à tous,
Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je
souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de
Windows indique "disque local"), la proc renvoie "Erreur", comme quand un
disque n'existe pas. Comment faire la différence entre un disque inexistant
(pour lequel le message pourrait être "Disque inaccessible") et un disque
sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans
les 2 cas l'erreur a le numéro 0...
Merci d'avance pour toutes les suggestions de solutions.
Amicalement.
Alain
Sub Test() Dim LeNom$, Msg$ Select Case RecupNom("C:", LeNom) Case 0& Msg = "Erreur" Case 1& Msg = "Le disque n'a pas de nom" Case Else Msg = LeNom End Select MsgBox Msg, vbInformation, "Merci MPFE" End Sub
Function RecupNom&(Lecteur$, NomVolume$) Dim I& I = 30& NomVolume = String$(I, vbNullChar) If GetVolumeInformation(Lecteur, NomVolume, I, _ 0&, 0&, 0&, vbNullString, 0&) Then NomVolume = Left$(NomVolume, InStr(NomVolume, vbNullChar) - 1&) If Len(NomVolume) > 0& Then RecupNom = 2& Else RecupNom = 1& End If End If End Function
Alain CROS
"AlainGG" a écrit dans le message de news:
Bonjour à toutes et à tous, Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de Windows indique "disque local"), la proc renvoie "Erreur", comme quand un disque n'existe pas. Comment faire la différence entre un disque inexistant (pour lequel le message pourrait être "Disque inaccessible") et un disque sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans les 2 cas l'erreur a le numéro 0... Merci d'avance pour toutes les suggestions de solutions. Amicalement. Alain
Sub Test()
Dim LeNom$, Msg$
Select Case RecupNom("C:", LeNom)
Case 0&
Msg = "Erreur"
Case 1&
Msg = "Le disque n'a pas de nom"
Case Else
Msg = LeNom
End Select
MsgBox Msg, vbInformation, "Merci MPFE"
End Sub
Function RecupNom&(Lecteur$, NomVolume$)
Dim I&
I = 30&
NomVolume = String$(I, vbNullChar)
If GetVolumeInformation(Lecteur, NomVolume, I, _
0&, 0&, 0&, vbNullString, 0&) Then
NomVolume = Left$(NomVolume, InStr(NomVolume, vbNullChar) - 1&)
If Len(NomVolume) > 0& Then
RecupNom = 2&
Else
RecupNom = 1&
End If
End If
End Function
Alain CROS
"AlainGG" <AlainGG@discussions.microsoft.com> a écrit dans le message de news: DA2C278A-9443-4EAA-83BD-6020C789B410@microsoft.com...
Bonjour à toutes et à tous,
Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je
souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de
Windows indique "disque local"), la proc renvoie "Erreur", comme quand un
disque n'existe pas. Comment faire la différence entre un disque inexistant
(pour lequel le message pourrait être "Disque inaccessible") et un disque
sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans
les 2 cas l'erreur a le numéro 0...
Merci d'avance pour toutes les suggestions de solutions.
Amicalement.
Alain
Sub Test() Dim LeNom$, Msg$ Select Case RecupNom("C:", LeNom) Case 0& Msg = "Erreur" Case 1& Msg = "Le disque n'a pas de nom" Case Else Msg = LeNom End Select MsgBox Msg, vbInformation, "Merci MPFE" End Sub
Function RecupNom&(Lecteur$, NomVolume$) Dim I& I = 30& NomVolume = String$(I, vbNullChar) If GetVolumeInformation(Lecteur, NomVolume, I, _ 0&, 0&, 0&, vbNullString, 0&) Then NomVolume = Left$(NomVolume, InStr(NomVolume, vbNullChar) - 1&) If Len(NomVolume) > 0& Then RecupNom = 2& Else RecupNom = 1& End If End If End Function
Alain CROS
"AlainGG" a écrit dans le message de news:
Bonjour à toutes et à tous, Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de Windows indique "disque local"), la proc renvoie "Erreur", comme quand un disque n'existe pas. Comment faire la différence entre un disque inexistant (pour lequel le message pourrait être "Disque inaccessible") et un disque sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans les 2 cas l'erreur a le numéro 0... Merci d'avance pour toutes les suggestions de solutions. Amicalement. Alain
AlainGG
Merci Alain, très pro ! et par voie de conséquence, merci MPFE !
Sub Test() Dim LeNom$, Msg$ Select Case RecupNom("C:", LeNom) Case 0& Msg = "Erreur" Case 1& Msg = "Le disque n'a pas de nom" Case Else Msg = LeNom End Select MsgBox Msg, vbInformation, "Merci MPFE" End Sub
Function RecupNom&(Lecteur$, NomVolume$) Dim I& I = 30& NomVolume = String$(I, vbNullChar) If GetVolumeInformation(Lecteur, NomVolume, I, _ 0&, 0&, 0&, vbNullString, 0&) Then NomVolume = Left$(NomVolume, InStr(NomVolume, vbNullChar) - 1&) If Len(NomVolume) > 0& Then RecupNom = 2& Else RecupNom = 1& End If End If End Function
Alain CROS
"AlainGG" a écrit dans le message de news:
Bonjour à toutes et à tous, Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de Windows indique "disque local"), la proc renvoie "Erreur", comme quand un disque n'existe pas. Comment faire la différence entre un disque inexistant (pour lequel le message pourrait être "Disque inaccessible") et un disque sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans les 2 cas l'erreur a le numéro 0... Merci d'avance pour toutes les suggestions de solutions. Amicalement. Alain
Merci Alain, très pro ! et par voie de conséquence, merci MPFE !
Sub Test()
Dim LeNom$, Msg$
Select Case RecupNom("C:", LeNom)
Case 0&
Msg = "Erreur"
Case 1&
Msg = "Le disque n'a pas de nom"
Case Else
Msg = LeNom
End Select
MsgBox Msg, vbInformation, "Merci MPFE"
End Sub
Function RecupNom&(Lecteur$, NomVolume$)
Dim I&
I = 30&
NomVolume = String$(I, vbNullChar)
If GetVolumeInformation(Lecteur, NomVolume, I, _
0&, 0&, 0&, vbNullString, 0&) Then
NomVolume = Left$(NomVolume, InStr(NomVolume, vbNullChar) - 1&)
If Len(NomVolume) > 0& Then
RecupNom = 2&
Else
RecupNom = 1&
End If
End If
End Function
Alain CROS
"AlainGG" <AlainGG@discussions.microsoft.com> a écrit dans le message de news: DA2C278A-9443-4EAA-83BD-6020C789B410@microsoft.com...
Bonjour à toutes et à tous,
Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je
souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de
Windows indique "disque local"), la proc renvoie "Erreur", comme quand un
disque n'existe pas. Comment faire la différence entre un disque inexistant
(pour lequel le message pourrait être "Disque inaccessible") et un disque
sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans
les 2 cas l'erreur a le numéro 0...
Merci d'avance pour toutes les suggestions de solutions.
Amicalement.
Alain
Sub Test() Dim LeNom$, Msg$ Select Case RecupNom("C:", LeNom) Case 0& Msg = "Erreur" Case 1& Msg = "Le disque n'a pas de nom" Case Else Msg = LeNom End Select MsgBox Msg, vbInformation, "Merci MPFE" End Sub
Function RecupNom&(Lecteur$, NomVolume$) Dim I& I = 30& NomVolume = String$(I, vbNullChar) If GetVolumeInformation(Lecteur, NomVolume, I, _ 0&, 0&, 0&, vbNullString, 0&) Then NomVolume = Left$(NomVolume, InStr(NomVolume, vbNullChar) - 1&) If Len(NomVolume) > 0& Then RecupNom = 2& Else RecupNom = 1& End If End If End Function
Alain CROS
"AlainGG" a écrit dans le message de news:
Bonjour à toutes et à tous, Alain Cros ayant déjà fourni une proc qui fonctionne bien, mais je souhaiterai un complément : si le disque C n'a pas de nom (l'explorateur de Windows indique "disque local"), la proc renvoie "Erreur", comme quand un disque n'existe pas. Comment faire la différence entre un disque inexistant (pour lequel le message pourrait être "Disque inaccessible") et un disque sans nom (pour lequel la macro afficherait "Ce disque n'a pas de nom") ? Dans les 2 cas l'erreur a le numéro 0... Merci d'avance pour toutes les suggestions de solutions. Amicalement. Alain