La macro fonctionne, mais pas quand je l'intègre dans mon code VBA

Bonjour,

Je suis en train de gérer les droits d'accès de mon classeur, et j'essaie en vain de copier/Coller les droits d'un utilisateur dans une feuille "Droits"

J'ai une feuille "Accès" saisie du Login et mot de passe

J'ai une feuille "Utilisateurs" qui résume pour chaque utilisateur les feuilles accessibles

J'ai enfin une feuille "Droits" qui récupère les autorisations de l'utilisateur contrôlé.

La copie des données dans la feuille "droits" Fonctionne bien en tant que Macro, mais pas quand je l'intègre dans ma feuille VBA "Accès" C'est pourtant un copier/Coller, et depuis ce matin je planche dessus pour comprendre. Le test du numéro de ligne fonctionne bien pour autant, Sachant que dans la macro, je force le numéro de ligne pour tester, et que dans le code VBA je récupère la valeur de la variable.

Je ne vois pas ce qui peut empécher le fonctionnement dans mon code VBA. Il y a surement un piège que je ne vois pas.

Merci pour votre retour

Je vous joins le code VBA de la macro :

Sub LigneCopierColler()

' LigneCopierColler Macro

Dim Ligne As Integer

Ligne = 6

Sheets("Utilisateurs").Select

Rows(Ligne & ":" & Ligne).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Droits").Select

Rows("4:4").Select

ActiveSheet.Paste

Sheets("Utilisateurs").Select

Range("A1").Select

End Sub

Je vous ajoute mon code VBA ou est intégré les lignes de code de la macro

Option Explicit

Private Sub Label_Entrer_Click()

On Error Resume Next

'Déclaratin des variables

Dim Mot_de_Passe As String

Dim Login As String

Dim Ligne As Integer

'Configuration des variables Vlookup est l'équivalent de rechercheV

Mot_de_Passe = WorksheetFunction.VLookup(TxtLogin, Sheets("Utilisateurs").Range("A:C"), 2, 0)

Login = WorksheetFunction.VLookup(TxtLogin, Sheets("Utilisateurs").Range("A:C"), 1, 0)

If Login = "Adminis" And Mot_de_Passe = TxtMotPasse Then 'Contrôler si c'est l'administrateur

'Vider le formulaire de connexion

' TxtMotPasse = ""

' TxtLogin = ""

Worksheets("Utilisateurs").Activate

ElseIf Mot_de_Passe = TxtMotPasse And Login = TxtLogin Then 'Contrôler si c'est un utilisateur répertorié

'Vider le formulaire de connexion

' TxtMotPasse = ""

' TxtLogin = ""

Worksheets("Menu General").Activate

Else

MsgBox ("L'utilisateur ou le mot de passe n'est pas conforme !" & Chr(10) & "Veuillez procéder à la correction." & Chr(10) & Chr(10) & _

"Veuillez prendre éventuellement contact avec l'administrateur de l'application."), vbOKOnly + vbExclamation, "Contrôle utilisateur"

End If

'Copie des droits dans la feuille droits

'Recherche du numéro de ligne

If Not IsError(Application.Match(Login, Sheets("Utilisateurs").Range("A:A"), 0)) Then

Ligne = Application.Match(Login, Sheets("Utilisateurs").Range("A:A"), 0)

MsgBox "Le numéro de ligne est :" & Ligne

Sheets("Utilisateurs").Select

Rows(Ligne & ":" & Ligne).Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Droits").Select

Rows("4:4").Select

ActiveSheet.Paste

Sheets("Utilisateurs").Select

Range("A1").Select

End If

End Sub

Bonjour

Sans fichier c'est un peu difficile de voir le souci

Déjà votre code que vous pouvez changer

Sub LigneCopierColler()
' LigneCopierColler Macro
Dim Ligne As Integer
Ligne = 6
Sheets("Utilisateurs").Rows(Ligne & ":" & Ligne).Copy Sheets("Droits").Rows("4:4")
Application.CutCopyMode = False
End Sub

Crdlt

Bonjour DAN

La syntaxe de votre correction résous mon problème, ça fonctionne très bien dans toutes mes options.

J'ai encore beaucoup apprendre et suis toujours admiratif des réponses qui sont faites.

Je retiens la formule pour d'autres développement, ou d'autres syntaxes.

Merci beaucoup et bonne journée.

Rechercher des sujets similaires à "macro fonctionne pas quand integre mon code vba"