Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Numéro disque dur pour protection de fichier

3 réponses
Avatar
JP
Bonjour,

J'ai plac=E9 une macro trouv=E9e sur le net pour maitriser l'utilisation d'=
un fichier. Mais il se trouve que mon test if .. then ... else ... ne fonct=
ionne pas comme je le souhaiterai.

La macro en question est:

Private Sub Workbook_Open()
Dim Serial As Long, VName As String, FSName As String
GetVolumeInformation "C:\", VName, 255, Serial, 0, 0, FSName, 255
essai =3D Trim(Str$(Serial)) + vbInformation + vbOKOnly
If essai =3D 0 Then Sheets("Informations utilisation").Activate Else Sheets=
("Accueil et Synth=E8se").Activate
End Sub

La variable essai prend la valeur du num=E9ro du disque dur et pourtant dan=
s le test, je me retrouve dans le Else Sheets("Accueil et synth=E8se").acti=
vate.

Une explication =E0 cela?=20

Merci d'avance.

JP

3 réponses

Avatar
DanielCo
Bonjour,
On peut récupérer le n° comme ceci :

Set fso = CreateObject("Scripting.FileSystemObject")
essai = fso.getdrive("C").serialnumber

Cordialement.
Daniel


Bonjour,

J'ai placé une macro trouvée sur le net pour maitriser l'utilisation d'un
fichier. Mais il se trouve que mon test if .. then ... else ... ne fonctionne
pas comme je le souhaiterai.

La macro en question est:

Private Sub Workbook_Open()
Dim Serial As Long, VName As String, FSName As String
GetVolumeInformation "C:", VName, 255, Serial, 0, 0, FSName, 255
essai = Trim(Str$(Serial)) + vbInformation + vbOKOnly
If essai = 0 Then Sheets("Informations utilisation").Activate Else
Sheets("Accueil et Synthèse").Activate End Sub

La variable essai prend la valeur du numéro du disque dur et pourtant dans le
test, je me retrouve dans le Else Sheets("Accueil et synthèse").activate.

Une explication à cela?

Merci d'avance.

JP
Avatar
JP
Bonjour DanielCo,

C'est déjà plus court mais mon test est toujours le même. Mets cette macro dans le thisworkbook pour contrôler le if... then ...else...

Private Sub Workbook_Open()
Set fso = CreateObject("Scripting.FileSystemObject")
essai = fso.getdrive("C").serialnumber
If essai = 0 Then Sheets("Informations utilisation").Activate Else Sheets ("Accueil et Synthèse").Activate
End Sub

Merci pour les conseils

JP
Avatar
JP
DannielCo,

Désolé, çà marche très bien. Mon test était mal formulé.

Merci encore

JP