IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mot de passe mais pas de protection


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Mot de passe mais pas de protection
    Bonjour à tous !

    Voilà, je travaille sur un projet avec mot de passe mais au lancement de mon fichier, je veux importer un module de l´extérieur donc je désactive la protection, j´importe puis je la réactive, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Workbook_Open()
        'Désactive la protection
        UnprotectVBProject ThisWorkbook, "pass"
        DoEvents
        'on Importe
        ImportModul
        'On réactive la protection
        ProtectVBProject ThisWorkbook, "pass"
        DoEvents   
    End Sub
    Les fonctions d´activation et de désactivation sont ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
      Dim vbProj As Object
     
      Set vbProj = WB.VBProject
     
      'can't do it if already unlocked!
      If vbProj.Protection <> 1 Then Exit Sub
     
      Set Application.VBE.ActiveVBProject = vbProj
     
      ' now use lovely SendKeys to quote the project password
      SendKeys Password & "~~"
      Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
    End Sub
    Sub ProtectVBProject(WB As Workbook, ByVal Password As String)
      Dim vbProj As Object
     
      Set vbProj = WB.VBProject
     
      'can't do it if already locked!
      If vbProj.Protection = 1 Then Exit Sub
      Set Application.VBE.ActiveVBProject = vbProj
     
      ' now use  SendKeys to set the project password
      SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & _
    Password & "~"
     
      Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
    End Sub
    Tout semble bien marcher mais le problème c´est qu´après ces procédures, je fais ALT + F11 et je peux accéder au code sans rentrer de mot de passe ! Pourtant quand je regarde les propriétés du projet, il y a bien un mot de passe. (les fonctions ont bien marché). Mais vu qu´il s´est déjà ouvert avec le mot de passe, il pense que c´est bon alors que je voudrais qu´il me le demande
    Quelqu´un a-t-il une solution à mon problème ?

    Merci d´avance de votre aide
    @ +

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Si je savais, je mettrais ta question dans les "trucs et astuces" avec comme sujet : "Comment afficher un code protégé par mot de passe ?"
    As-tu essayé de fermer ton classeur et de le ré-ouvrir ?
    A+

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour,

    Dans un module standard:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Sub ReOpen()
        Application.EnableEvents = True
    End Sub
    Dans le module ThisWorkbook:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Private Sub Workbook_Open()
        'Désactive la protection
        UnprotectVBProject ThisWorkbook, "pass"
        DoEvents
        'on Importe
        ImportModul
        'On réactive la protection
        'ProtectVBProject ThisWorkbook, "pass" 'On enleve cette ligne
        'DoEvents'On enleve cette ligne
    'On ajoute ces lignes    
        With Application
            .EnableEvents = False    '++++
            .OnTime Now + TimeValue("00:00:01"), "ReOpen" '+++++
        End With
        Me.Close True '+++++
    End Sub
    Inconvénient, il faut activer deux fois les macros (sauf si le niveau de securite est faible).

    Un risque, si on ne les active pas la deuxieme fois le classeur ne se réouvre pas et EnableEvents reste False.

    A tester donc.

    Cordialement,

    Tirex28/

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Merci tirex28! En gros, c´est ce que je cherchais (sans qu´on demande 2 fois d´activer les macros, c´est un inconvénient..)
    je vais mettre le post en résolu meme si ce serait mieux de ne pas réactiver les macros 2 fois :p
    Si quelqu´un saurait comment faire ca, ce serait sympa
    merci

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour,

    Ceci devrait etre plus adapté.

    Dans ThisWorkbook:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Private Sub Workbook_Open()
        Const NomModule As String = "ModExport" 'Doit renvoyer le nom de ce module
        Dim NomFichierModule As String, TempWB As Workbook
        UnprotectVBProject ThisWorkbook, "pass"
        DoEvents
        ImportModul
        'Exporte le module "ModExport"
        With ThisWorkbook
            NomFichierModule = .Path & "\" & NomModule & ".bas"
            .VBProject.VBComponents(NomModule).Export NomFichierModule
        End With
       'Ajoute un classeur temporaire
        With Application
            .ScreenUpdating = False
            .StatusBar = "Veuillez patienter .."
            .Cursor = xlWait
            .EnableEvents = False
        End With
        Set TempWB = Workbooks.Add
        ActiveWindow.Visible = False
        'Copie ModExport dans le classeur temporaire
        TempWB.VBProject.VBComponents.Import NomFichierModule
        'Supprime le fichier ModExport.bas
        Kill NomFichierModule
        'Programme la procedure de reouverture
        Application.Run TempWB.Name & "!" & "Attendre", ThisWorkbook.FullName
        'Ferme ce classeur en l'enregistrant avec le nouveau module
        ThisWorkbook.Close True
    End Sub
    Dans un module nommé ModExport:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Public Sub Attendre(WbFullName As String)
        Application.OnTime Now + TimeValue("00:00:03"), "'OuvrirClasseur """ & WbFullName & """'"
    End Sub
     
    Public Sub OuvrirClasseur(WbFullName As String)
        Workbooks.Open WbFullName
        With Application
            .EnableEvents = True
            .Cursor = xlDefault
            .StatusBar = False
        End With
        'Ferme le classeur temporaire
        ThisWorkbook.Close False
    End Sub

    Cordialement,

    Tirex28/

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Bonjour,

    voilà c'est ca que je voulais merci mais par contre depuis que j'ai mis en place ce bout de code, j'ai un autre problème que je ne comprends pas.

    En fait j'ai simplifié les choses plus haut, j'avais mis que j'importais un module.
    En fait ce que je fais c'est mettre à jour le module par le fichier .bas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     'Je renomme l'ancienne version du module
    ThisWorkbook.VBProject.VBComponents(NomModule).Name = "alt" 
    'Je supprime l'ancienne version du module
    With ThisWorkbook.VBProject.VBComponents
              .Remove .Item("alt")
    End With
    'Msgbox(ModuleExists("alt"))
    'J'importe la nouvelle version depuis le .bas
    ThisWorkbook.VBProject.VBComponents.Import (Chemim & NomModule & ".bas")
    Avant de mettre le bout de code, cette partie marchait très bien (sans mot de passe).
    Vous allez me dire pourquoi renommer avant de supprimer ? aucune idée mais sans ce renommage, il ne le supprimait pas et en important le module, on se retrouvait avec un "Nom_Module" suivi d'un 1.

    Mon problème actuel est un peu l'ancien dans le sens où le module "alt" ne veut pas se supprimer et je ne comprend pas pourquoi..J'ai testé avec une fonction qui indique si un module existe et il m'affiche False (la msgbox) juste après la ligne de commande (pourtant le bout de code pour la suppression marche si je l'execute tout seul séparemment)

    Qu'est ce qui se passe ?

    Merci encore d'avance

    @ +

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ce ne serait pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ThisWorkbook.VBProject
            .VBComponents.Remove .VBComponents("alt2")
    End With
    En fait, je crois bien que si
    A+

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Bonjour,
    j'ai fait ces modifications (au lieu du Item("alt") un .VBComponents("alt") en changeant le With) mais ca ne change rien . toujours le même problème. Le truc c'est qu'avant de mettre le bout de code de tirex28 (dont j'ai absolument besoin ) cette procédure marchait..c'est ca qui est étrange. (et je n'ai pas de alt2 chez moi :p)

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Elle est où ta macro ? Dans ThisWorkbook ou dans un autre classeur.
    ThisWorkbook est le classeur contenant la macro qui supprime mais la macro supprimée peut être dans un autre classeur... Auquel cas ce n'est plus ThisWorkbook qu'il faut utiliser mais Workbooks("NomDuClasseur.xls")... Ceci parce que mon code fonctionne parfaitement et comme je n'avais pas non plus de module nommé alt2 (chais pas où je l'ai pris çui-là) j'ai testé sur un module tout neuf qui a bel et bien disparu. Pffft !
    Tu dis
    A+

  10. #10
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Salut,

    Peux tu peux publier l'intégralité de ton code avec la localisation des procedures et le nom des modules?

    Tirex28/

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Ok alors le post va être long :p
    Voici :

    J'ai un seul classeur tout le temps (sauf quand par ta procédure il en crée un temporairement).
    Je veux mettre a jour Mon_Module depuis le fichier Mon_Module.bas tout en passant la sécurité avant l'importation et en la remettant après.(en faisant en sorte qu'on redemande le mot de passe)

    Dans le Workbook_Open:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Private Sub Workbook_Open()
     
     Const NomModule As String = "ModExport" 'Doit renvoyer le nom de ce module
        Dim NomFichierModule As String, TempWB As Workbook
     
          If Dir(Chemin & Mon_Module & ".bas") = "" Then
           MsgBox "VBA-Code-File " & Chemin & Mon_Module & ".bas not found.", vbOKOnly, "VBA Code"
        Else
     
    'on enleve la protection
            UnprotectVBProject ThisWorkbook, "pass"
            DoEvents
     
     'Je renomme l'ancienne version du module
    ThisWorkbook.VBProject.VBComponents(Mon_Module).Name = "alt" 
    'Je supprime l'ancienne version du module
    With ThisWorkbook.VBProject.VBComponents
              .Remove .Item("alt")
    End With
    'Msgbox(ModuleExists("alt"))
    'J'importe la nouvelle version depuis le .bas
    ThisWorkbook.VBProject.VBComponents.Import (Chemim & Mon_Module & ".bas")    
     
        End If
     
        'Remettre la protection
             'Exporte le module "ModExport"
        With ThisWorkbook
            NomFichierModule = .Path & "\" & NomModule & ".bas"
    ExportModul NomFichierModule, NomModule
        End With
       'Ajoute un classeur temporaire
        With Application
            .ScreenUpdating = False
            .StatusBar = "Veuillez patienter .."
            .Cursor = xlWait
            .EnableEvents = False
        End With
        Set TempWB = Workbooks.Add
        ActiveWindow.Visible = False
        'Copie ModExport dans le classeur temporaire
        TempWB.VBProject.VBComponents.Import NomFichierModule
        'Supprime le fichier ModExport.bas
        Kill NomFichierModule
        'Programme la procedure de reouverture
        Application.Run TempWB.Name & "!" & "Attendre", ThisWorkbook.FullName
        'Ferme ce classeur en l'enregistrant avec le nouveau module
        ThisWorkbook.Close True
     
     
    End sub
    Les fonctions utilisées :

    Enlever la protection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub UnprotectVBProject(WB As Workbook, ByVal Password As String)
      Dim vbProj As Object
     
      Set vbProj = WB.VBProject
     
      'can't do it if already unlocked!
      If vbProj.Protection <> 1 Then Exit Sub
     
      Set Application.VBE.ActiveVBProject = vbProj
     
      ' now use lovely SendKeys to quote the project password
      SendKeys Password & "~~"
      Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
    End Sub
    et la fonction export_modul :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub ExportModul(Nom_Fichier As String, Nom_Modul As String)
     
    Dim fso, MyFile
    Dim s As String
     
    'On crée le fichier
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set MyFile = fso.CreateTextFile(Nom_Fichier & Nom_Modul & ".bas", True)
     
    ' On récupère le contenu du module
    With ThisWorkbook.VBProject.VBComponents(Nom_Modul).CodeModule
    s = .Lines(1, .CountOfLines)
    End With
     
    ' On l´écrit dans un fichier
    MyFile.WriteLine ("Attribute VB_Name = """ & Nom_Modul & """ ")
    MyFile.WriteLine (s)
     
    'On ferme le fichier
    MyFile.Close
     
    End sub
    Ces deux fonctions et workbook_open sont dans le dossier Excel Objects dans une espèce de module caché (j'ai la version allemande mais je crois que c'est ThisWorkbook)

    Il y a aussi le module ModExport que tu as crée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub Attendre(WbFullName As String)
        Application.OnTime Now + TimeValue("00:00:03"), "'OuvrirClasseur """ & WbFullName & """'"
    End Sub
     
    Public Sub OuvrirClasseur(WbFullName As String)
        Workbooks.Open WbFullName
        With Application
            .EnableEvents = True
            .Cursor = xlDefault
            .StatusBar = False
        End With
        'Ferme le classeur temporaire
        ThisWorkbook.Close False
    End Sub
    Et Mon_Module dont je ne vais pas mettre le contenu puisqu'il ne sert pas ici.

    Voilà merci si vous avez lu jusque là
    En espérant que ca vous aide ( et moi par la même occasion).

    Merci d'avance.
    @ +

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Quand tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        ThisWorkbook.Close False
    tu fermes le fichier contenant la macro.
    Si tu veux fermer WbFullName, la syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(WbFullName).close false
    Ensuite si tu pouvais nous rappeler les ennuis qui te restent...
    A+

  13. #13
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonjour à tous,

    Il y a une coquille sur cette ligne:

    ThisWorkbook.VBProject.VBComponents.Import (Chemim & Mon_Module & ".bas")

    Le nom de la variable est Chemim au lieu de Chemin...

    D'autre part la fonction ExportModul me semble bien inutile puisque VBA propose déja cette fonctionnalité.

    J'ai donc revu l'ensemble du code pour aboutir à cette version qui je l'espére donnera entière satisfaction à Aragorn.

    Le projet doit comporter un module (nommé ici ModuleMAJ) que l'on cherche à supprimer afin d'en importer une nouvelle version et un module nommé ModuleTemp qui servira uniquement à etre exporter dans un classeur temporaire pour réouvrir le classeur après la mise a jour. Ce module contient uniquement les procédures "Attendre" et "OuvrirClasseur" qui sont les memes que dans la 1ere version.

    Le reste du code prend place dans le module ThisWorkBook, le programme devant etre lancé à l'ouverture du classeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    Private Sub Workbook_Open()
        Const Mon_Module As String = "ModuleMAJ"        'Nom du module à mettre à jour
        Const Chemin As String = "C:\Documents and Settings\Aragorn\Bureau\"
        If Dir(Chemin & Mon_Module & ".bas") = "" Then
            MsgBox "VBA-Code-File " & Chemin & Mon_Module & ".bas not found.", vbOKOnly, "VBA Code"
        Else
            UnprotectThisWorkbookVBProject              'Enleve la protection du projet
            With ThisWorkbook.VBProject.VBComponents
                .Remove .Item(Mon_Module)               'Supprime l'ancienne version du module
                .Import (Chemin & Mon_Module & ".bas")  'Importe la nouvelle version du module
            End With
            ReOpenThisWorkBook                          'Active la protection en réouvrant le classeur
        End If
    End Sub
     
    Private Sub UnprotectThisWorkbookVBProject()
        Const ThePassWord As String = "pass"
        If ThisWorkbook.VBProject.Protection = 1 Then
            Set Application.VBE.ActiveVBProject = ThisWorkbook.VBProject
            Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
            SendKeys ThePassWord & "~~"
            DoEvents
        End If
    End Sub
     
    Private Sub ReOpenThisWorkBook()
        Dim NomFichierModule As String, TempWB As Workbook
        Const NomModule As String = "ModuleTemp"    'Module servant uniquement au classeur temporaire
        With ThisWorkbook                           'Exporte le module "ModuleTemp"
            NomFichierModule = .Path & "\" & NomModule & ".bas"
            .VBProject.VBComponents(NomModule).Export NomFichierModule
        End With
        With Application                            'Ajoute un classeur temporaire
            .ScreenUpdating = False
            .StatusBar = "Veuillez patienter .."
            .Cursor = xlWait
            .EnableEvents = False
        End With
        Set TempWB = Workbooks.Add
        ActiveWindow.Visible = False
        TempWB.VBProject.VBComponents.Import NomFichierModule 'Copie ModuleTemp dans le classeur temporaire
        Kill NomFichierModule                                 'Supprime le fichier ModuleTemp.bas
        With ThisWorkbook
            Application.Run TempWB.Name & "!" & "Attendre", .FullName 'Programme la reouverture
            .Close True             'Ferme ce classeur en l'enregistrant avec le nouveau module
        End With
    End Sub
    Ceci testé avec succes sous WinXP avec XL2003.

    cordialement,

    Tirex28/

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    Bonjour !
    c'est peut-être parce que je suis sous Win2000 avec Excel 2000 mais la suppression ne marche pas, je me retrouve avec Mon_module et Mon_module1.
    Pourtant si je fais le code de suppression séparemment dans une macro, il marche, j'avoue que je suis un peu perdu.
    Pour la fonction Export, je sais qu'elle existe mais elle faisait complètement planté mes fichiers dès que je la tapais et que j'enregistrais(cf http://www.developpez.net/forums/sho...d.php?t=363449)

    En tous cas, merci bcp à tous les deux..

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/03/2011, 12h09
  2. Réponses: 4
    Dernier message: 15/12/2009, 13h59
  3. Réponses: 5
    Dernier message: 31/03/2008, 17h07
  4. Mot de passe réseau pas enregistré
    Par tomlev dans le forum Windows Vista
    Réponses: 4
    Dernier message: 15/10/2007, 11h14
  5. Réponses: 5
    Dernier message: 13/08/2007, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo