[Vista] La sélection multiple est désactivée

Dernière mise à jour le 6 novembre 2009 à 09:01 par marlalapocket
Publié par fahd_zboot


Parfois, la sélection multiple des fichiers et dossiers sous Vista ne marche plus. C'est un bug qui arrive rarement. Pour régler ce problème :

Première solution

  • Allez sur cette page : http://home.mchsi.com/~k.miller79/
  • Cliquez sur le lien Fix Single Select pour télécharger le fichier FixSingleSelect.zip
  • Enregistrez-le sur le bureau, puis extrayez son contenu toujours dans le bureau.
  • Fermez toutes les fenêtres de l'explorateur ouvertes, et n'ouvrez aucune jusqu'à la fin de la procédure.
  • Faites un double clic sur le fichier FixSingleSelect.vbs qui est sur le bureau.
  • Validez le message suivant en cliquant sur OK.
  • Patientez un moment, puis validez le message suivant.
  • Redémarrez votre PC et réessayez.


Si le lien de téléchargement ne marche pas, vous pouvez créer le fichier FixSingleSelect.vbs :
  • Ouvrez le bloc-notes.
  • Copiez ceci dedans :

Option Explicit

const HKCU = &H80000001
const FWF_SINGLESEL = &H00000040

dim objReg

msgbox "Close all Explorer windows before continuing."

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")

FixBags

FixDefaults

msgbox "Done!  Logoff and Logon before opening any Explorer windows."


'===================================================================================================
Sub FixBags

const BagsPath = "Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags"

dim iFFlags
dim strBag, strShellPath, strFolderID, strKeyPath
dim arrBags, arrFolderIDs

objReg.EnumKey HKCU, BagsPath, arrBags

For Each strBag in arrBags
    strShellPath = BagsPath & "\" & strBag & "\Shell"
    If RegKeyExists(strShellPath) Then
         If objReg.EnumKey(HKCU, strShellPath, arrFolderIDs) = 0 Then
              If Not IsNull(arrFolderIDs) Then
                  For each strFolderID in arrFolderIDs
                      strKeyPath = strShellPath & "\" & strFolderID
                      If objReg.GetDWORDValue(HKCU, strKeyPath, "FFlags", iFFlags) = 0 Then
                          If (iFFlags AND FWF_SINGLESEL) <> 0 Then
                              iFFlags = (iFFlags AND (NOT(FWF_SINGLESEL)))
                              If objReg.SetDWORDValue(HKCU, strKeyPath, "FFlags", iFFlags) <> 0 Then
                                  Msgbox "SetDWORDValue Failed"
                              End If
                          End If
                      End If
                  Next
              End If
         End If
    End If
Next

End Sub
'===================================================================================================

'===================================================================================================

Sub FixDefaults

const StreamsPath = "Software\Microsoft\Windows\CurrentVersion\Explorer\Streams\Defaults"

dim bytTemp, bytFFlags
dim iByteIndex
dim strFolderID, strViewSettings, strSearch
dim arrFolderIDs, arrRegTypes, arrViewSettings


If (objReg.EnumValues(HKCU, StreamsPath, arrFolderIDs, arrRegTypes) <> 0) Or IsNull(arrFolderIDs) Then
    Exit Sub
End If

For Each strFolderID in arrFolderIDs

    If objReg.GetBinaryValue(HKCU, StreamsPath, strFolderID, arrViewSettings) = 0 Then

        '--- Convert Byte array to string to facilitate searching ---

        strViewSettings = ""
        For each bytTemp in arrViewSettings
           strViewSettings = strViewSettings & chr(bytTemp)
        Next

        strSearch = "F" & chr(0) & "F" & chr(0) & "l" & chr(0) & "a" & chr(0) & "g" & chr(0) & "s"

        iByteIndex = instr(strViewSettings, strSearch) + 17

        bytFFlags = arrViewSettings(iByteIndex)
        If (bytFFlags AND FWF_SINGLESEL) <> 0 Then
           arrViewSettings(iByteIndex) = (bytFFlags AND NOT(FWF_SINGLESEL))
           If objReg.SetBinaryValue(HKCU, StreamsPath, strFolderID, arrViewSettings) <> 0 Then
               msgbox "SetBinaryValue Failed"
           End If
        End If


    End If
Next

End Sub


'===================================================================================================

Function RegKeyExists(sRegKey)

dim aValueNames, aValueTypes

sRegKey = Trim(sRegKey)

If objReg.EnumValues(HKCU, sRegKey, aValueNames, aValueTypes) = 0 Then
    RegKeyExists = True
Else
    RegKeyExists = False
End If

End Function
  • Enregistrez le fichier en lui donnant le nom FixSingleSelect.vbs
  • Choisissez Tous les fichiers dans Type.

Deuxième solution

  • Allez dans Panneau de configuration > Options des dossier (affichage classique).
  • Sélectionnez l'onglet Affichage et cliquez sur Réinitialiser les dossiers.
  • Cliquez sur Oui puis validez avec le bouton OK.


Source : http://www.vistax64.com/tutorials/157271-select-multiple-files-fix.html
Meilleures réponses pour « La sélection multiple est désactivée » dans :
Désactiver/Réactiver le TouchPad VoirSur les ordinateurs portables, il se peut que votre TouchPad soit désactivé sans raison apparente. Pour le réactiver, essayez dans un premier temps de redémarrer votre PC. Si ça ne donne rien, alors essayez ceci : Il faut que le pilote et le...
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
Désactiver IPv6 permet d'accélérer les connexions internet VoirMythe Désactiver IPv6 permet d'accélérer les connexions internet. Réalité VRAI dans certains cas. Explications Pourquoi IPv6 ? Internet utilise actuellement la version 4 d'IP (IPv4). La prochaine génération (Internet 2) utilisera IPv6 (plus...
La syntaxe des style (CSS) VoirDéfinition d'un style La définition d'un style se fait à l'aide de règles en texte simple permettant de décrire l'aspect des éléments de la page. Une règle CSS est caractérisée par deux principaux éléments : Un sélecteur de balises, permettant de...
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...
Transmission de données - Le multiplexage VoirIntroduction au multiplexage On appelle multiplexage, la capacité à transmettre sur un seul support physique (appelé voie haute vitesse), des données provenant de plusieurs paires d'équipements (émetteurs et récepteurs) ; on parle alors de voies...