Probléme de communication entre 2 classeur excel du a mon interface de connectio

Signaler
-
Bonjour ,
Je souhaiterai pouvoir passer de mon classeur 1 a mon classeur 2 sans me ré-identifier , tout en gardant les même droit ( je reste sur des userform ).
Es que c'est possible ?
Voila se que j'ai mis pour l'instant:
Pour ThisWorkbook:
Dim cptr As Byte
Dim Wb As Workbook

Private Sub Workbook_Open()

' On vérifie le nom du classeur : '
If (ActiveWorkbook.Name <> "Commande.xlsm") Then
 ActiveWorkbook.SaveAs Filename:="Commande.xlsm"
End If

' On fait apparaitre la feuille Bienvenue : '
  Worksheets("Bienvenue").Visible = True

' On fait dispparaitre toutes les feuilles sauf la feuille Bienvenue : '
  For cptr = 1 To ThisWorkbook.Sheets.Count
      If Sheets(cptr).Name <> "Bienvenue" Then
          Sheets(cptr).Visible = False
      End If
  Next
  
' On vérifie si "Historique.xlsm" est ouvert : '
  For Each Wb In Workbooks
    If Wb.Name = "Historique.xlsm" Then
       Worksheets("Produits").Visible = True
      Exit For
    End If
  Next Wb
  If Wb Is Nothing Then
     Login.Show
  End If
  
End Sub
Dim cptr As Byte
Dim Wb As Workbook

Private Sub Workbook_Open()

' On vérifie le nom du classeur : '
If (ActiveWorkbook.Name <> "Commande.xlsm") Then
 ActiveWorkbook.SaveAs Filename:="Commande.xlsm"
End If

' On fait apparaitre la feuille Bienvenue : '
  Worksheets("Bienvenue").Visible = True

' On fait dispparaitre toutes les feuilles sauf la feuille Bienvenue : '
  For cptr = 1 To ThisWorkbook.Sheets.Count
      If Sheets(cptr).Name <> "Bienvenue" Then
          Sheets(cptr).Visible = False
      End If
  Next
  
' On vérifie si "Historique.xlsm" est ouvert : '
  For Each Wb In Workbooks
    If Wb.Name = "Historique.xlsm" Then
       Worksheets("Produits").Visible = True
      Exit For
    End If
  Next Wb
  If Wb Is Nothing Then
     Login.Show
  End If
  
End Sub

' Variable '
Dim e As Integer, ligne As Integer

' Empéche la fermeture de l'userform avec la croix rouge '

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
 
  If CloseMode = 0 Then
     MsgBox "NON"
     Cancel = True
  End If
End Sub

' Initialisation de userform : LoginH '

Private Sub UserForm_Initialize()

  ' Paramétre variable par défaut : '
    Droit = 0
    User = 0
    Mdp = 0
    e = 0
    ligne = 2
    
  ' Initialise la liste des utilisateur : '
    While (Worksheets("Identification").Cells(ligne, 1).Value <> "")
         Identifiant.AddItem (Worksheets("Identification").Cells(ligne, 1).Value)
         ligne = ligne + 1
    Wend

End Sub

' Appui sur le boutton connexion '

Private Sub Connexion_Click()

    ligne = 2
If (Identifiant.Value <> "") Then

  While (Worksheets("Identification").Cells(ligne, 1).Value <> "")
  
    ' On vérifie si l'Identifiant éxiste : '
       If (Identifiant.Value = Worksheets("Identification").Cells(ligne, 1).Value) Then
           User = Identifiant.Value
           
    ' Si Identifiant  éxiste on vérifie le mot de passe : '
         If (Mot_de_passe.Value = Worksheets("Identification").Cells(ligne, 2).Value) Then
             Mdp = Mot_de_passe.Value
    ' Si le mot de passe  éxiste on attribut les droit : '
           Droit = Worksheets("Identification").Cells(ligne, 3).Value
           ligne = ligne + 1
                 
         End If
       End If
       
       ligne = ligne + 1
       
  Wend
  
 ElseIf (Identifiant.Value = "") Then

          If (MsgBox(" L'identification à échouer: Utilisateur non sélectioné", vbRetryCancel + vbExclamation, "Erreur")) = vbRetry Then
            e = e + 1
            
            If (e > 2) Then
                reponce = MsgBox(" Le programme va se fermer.", 0 + vbCritical, "Erreur")
                Unload Login
                ActiveWorkbook.Saved = True
                ActiveWorkbook.Close
                
            ElseIf e = 2 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 1 essai", 0 + vbInformation, "Erreur")
              e = 2
                          
            ElseIf e = 1 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 2 essai", 0 + vbInformation, "Erreur")
              e = 1
              
            End If
            
          ElseIf (MsgBox(" L'identification à échouer.", vbRetryCancel + vbExclamation)) = vbCancel Then
                  reponce = MsgBox(" Le programme va se fermer.", 0, "Erreur")
                  Unload Login
                  ActiveWorkbook.Saved = True
                  ActiveWorkbook.Close
                  
          End If

  
End If
    ' Si l'identification à réussit : '
  If (Droit <> 0) Then

     Identifiant.Value = ""
     Mot_de_passe.Value = ""
     Login.Hide
     Interface.Show
     
  ' Si l'Identification à échouer : '
    ElseIf (Droit = 0) Then

          If (MsgBox(" L'identification à échouer.", vbRetryCancel + vbExclamation, "Erreur")) = vbRetry Then
            e = e + 1
            
            If (e > 2) Then
                reponce = MsgBox(" Le programme va se fermer.", 0 + vbCritical, "Erreur")
                Unload Login
                ActiveWorkbook.Saved = True
                ActiveWorkbook.Close
                
            ElseIf e = 2 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 1 essai", 0 + vbInformation, "Erreur")
              e = 2
                          
            ElseIf e = 1 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 2 essai", 0 + vbInformation, "Erreur")
              e = 1
              
            End If
            
          ElseIf (MsgBox(" L'identification à échouer.", vbRetryCancel + vbExclamation)) = vbCancel Then
                  reponce = MsgBox(" Le programme va se fermer.", 0, "Erreur")
                  Unload Login
                  ActiveWorkbook.Saved = True
                  ActiveWorkbook.Close
                  
          End If

  End If

End Sub

' Appui sur le bouton paramétre '

Private Sub parametre_Click()
     Login.Hide
     Parametre_U.Show
End Sub
' Variable '
Dim e As Integer, ligne As Integer

' Empéche la fermeture de l'userform avec la croix rouge '

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
 
  If CloseMode = 0 Then
     MsgBox "NON"
     Cancel = True
  End If
End Sub

' Initialisation de userform : LoginH '

Private Sub UserForm_Initialize()

  ' Paramétre variable par défaut : '
    Droit = 0
    User = 0
    Mdp = 0
    e = 0
    ligne = 2
    
  ' Initialise la liste des utilisateur : '
    While (Worksheets("Identification").Cells(ligne, 1).Value <> "")
         Identifiant.AddItem (Worksheets("Identification").Cells(ligne, 1).Value)
         ligne = ligne + 1
    Wend

End Sub

' Appui sur le boutton connexion '

Private Sub Connexion_Click()

    ligne = 2
If (Identifiant.Value <> "") Then

  While (Worksheets("Identification").Cells(ligne, 1).Value <> "")
  
    ' On vérifie si l'Identifiant éxiste : '
       If (Identifiant.Value = Worksheets("Identification").Cells(ligne, 1).Value) Then
           User = Identifiant.Value
           
    ' Si Identifiant  éxiste on vérifie le mot de passe : '
         If (Mot_de_passe.Value = Worksheets("Identification").Cells(ligne, 2).Value) Then
             Mdp = Mot_de_passe.Value
    ' Si le mot de passe  éxiste on attribut les droit : '
           Droit = Worksheets("Identification").Cells(ligne, 3).Value
           ligne = ligne + 1
                 
         End If
       End If
       
       ligne = ligne + 1
       
  Wend
  
 ElseIf (Identifiant.Value = "") Then

          If (MsgBox(" L'identification à échouer: Utilisateur non sélectioné", vbRetryCancel + vbExclamation, "Erreur")) = vbRetry Then
            e = e + 1
            
            If (e > 2) Then
                reponce = MsgBox(" Le programme va se fermer.", 0 + vbCritical, "Erreur")
                Unload Login
                ActiveWorkbook.Saved = True
                ActiveWorkbook.Close
                
            ElseIf e = 2 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 1 essai", 0 + vbInformation, "Erreur")
              e = 2
                          
            ElseIf e = 1 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 2 essai", 0 + vbInformation, "Erreur")
              e = 1
              
            End If
            
          ElseIf (MsgBox(" L'identification à échouer.", vbRetryCancel + vbExclamation)) = vbCancel Then
                  reponce = MsgBox(" Le programme va se fermer.", 0, "Erreur")
                  Unload Login
                  ActiveWorkbook.Saved = True
                  ActiveWorkbook.Close
                  
          End If

  
End If
    ' Si l'identification à réussit : '
  If (Droit <> 0) Then

     Identifiant.Value = ""
     Mot_de_passe.Value = ""
     Login.Hide
     Interface.Show
     
  ' Si l'Identification à échouer : '
    ElseIf (Droit = 0) Then

          If (MsgBox(" L'identification à échouer.", vbRetryCancel + vbExclamation, "Erreur")) = vbRetry Then
            e = e + 1
            
            If (e > 2) Then
                reponce = MsgBox(" Le programme va se fermer.", 0 + vbCritical, "Erreur")
                Unload Login
                ActiveWorkbook.Saved = True
                ActiveWorkbook.Close
                
            ElseIf e = 2 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 1 essai", 0 + vbInformation, "Erreur")
              e = 2
                          
            ElseIf e = 1 Then
              reponce = MsgBox(" L'identification à échouer. il vous reste 2 essai", 0 + vbInformation, "Erreur")
              e = 1
              
            End If
            
          ElseIf (MsgBox(" L'identification à échouer.", vbRetryCancel + vbExclamation)) = vbCancel Then
                  reponce = MsgBox(" Le programme va se fermer.", 0, "Erreur")
                  Unload Login
                  ActiveWorkbook.Saved = True
                  ActiveWorkbook.Close
                  
          End If

  End If

End Sub

' Appui sur le bouton paramétre '

Private Sub parametre_Click()
     Login.Hide
     Parametre_U.Show
End Sub



Merci