Bonjour rocket4, bonjour Dan,
Un lecteur est "C:" pour le disque dur, "D:" pour le DVD-ROM, "E:" pour une clé USB ou un disque dur externe, etc...
Sub Essai()
Dim Lecteur As String
Lecteur = "E"
ChDrive Lecteur ' va sur E: ; ou sans utiliser la variable Lecteur, faire directement : ChDrive "E"
End Sub
Note qu'il ne faut pas mettre le signe deux-points ( : ), seulement la lettre du Lecteur ;
ChDrive "" (ou ChDrive Lecteur où Lecteur est une chaîne de caractères vide) ➯ pas d'erreur, simplement,
il n'y a pas de changement : on reste sur la même unité ; si tu lis l'aide Excel sur ChDrive, tu verras
aussi que si tu utilises une chaîne de caractères plus longue, ChDrive n'en lit que la 1ère lettre.
Si tu es sûr de ne jamais mettre une chaîne vide et de toujours indiquer une lettre, tu peux mettre, de préférence :
Dim Lecteur As String * 1 ; bien sûr, ceci uniquement si tu passes par une variable ; idem si tu utilises Drive
au lieu de Lecteur, car c'est plus court et ce n'est pas un mot-clé réservé de VBA : Dim Drive As String * 1
Je n'ai pas testé ce qui arrive si tu tentes d'accéder à E: alors que rien n'y est connecté (pas de clé USB, ni disque dur externe...) ;
peut-être que ça ne fait rien (➯ tester si on a bien changé de lecteur ou non pour que la suite de la macro soit ok) ; peut-être
que ça provoquera une erreur et donc un plantage (➯ mettre en place un gestionnaire d'erreur avec On Error Goto ou avec
On Error Resume Next).
Cordialement