Données varibales

Bonjour, j'ai une petit souci, mon code va cherche des valeurs se trouvant dans des cellules,mais je suis amené a rajouter des lignes.

Coment puis-je faire pour qu'il se fasse automatiquement si je rajoute des lignes?

 LigUtil = Sheets("Paramètre").Cells.Find(login).Row
        For I = 3 To 9

Merci

Bonjour,

Euh, ok, c'est possible d'avoir un fichier avec un code plus complet que deux lignes ?

oui pardon

If loginCorrect = True Then If CStr(WorksheetFunction.VLookup(login, Sheets("Paramètre").Range("A1", "F5"), 2, False)) = CStr(MdP) Then mdpCorrect = True Else MsgBox "Nom d'utilisateur ou mot de passe incorrect."
    If loginCorrect = True And mdpCorrect = True Then
    LigUtil = Sheets("Paramètre").Cells.Find(login).Row
    For i = 3 To 6
        feuille = Sheets("Paramètre").Cells(1, i)
        If Sheets("Paramètre").Cells(LigUtil, i) = "x" Then Sheets(feuille).Visible = True

ci-joint le fichier

Range ("A1,F5") peux varier puisque je peux rajouter des lignes

et le for i=3 To 6 aussi

J'ai ajouté une variable qui permet de compter les lignes jusqu'à la dernière non vide.

Il adapte ensuite le tableau de ta recherche "d'autorisation".

=> L'ajout d'utilisateur n'empêchera pas de fonctionner, ils seront pris en compte également !

Espérant que c'est bien ce que tu cherchais à faire !

C'est exactement ça que je cherchais, Un grand merci

A quoi correspond cette ligne

If loginCorrect = True Then If CStr(WorksheetFunction.VLookup(login, Sheets("Paramètre").Range("A1", "F5"), 2, False)) = CStr(MdP) Then mdpCorrect = True Else MsgBox "Nom d'utilisateur ou mot de passe incorrect."
    If loginCorrect = True And mdpCorrect = True Then
    LigUtil = Sheets("Paramètre").Cells.Find(login).Row
    For i = 3 To 6
        feuille = Sheets("Paramètre").Cells(1, i)
        If Sheets("Paramètre").Cells(LigUtil, i) = "x" Then Sheets(feuille).Visible = True

Merci

Cette ligne à été remplacée par :

For i = 3 to  fintab

Si tu as besoin d'agrandir ton tableau vers la droite en ajoutant des années par exemple. Par contre j'ai oublié de prendre en compte le déplacement de la selection du tableau.

Si le nombre d'onglet n'est pas voué à changer tu peux le remettre à 6.

Sachant qu'il faudra modifier une ligne de plus :

Sheets("Paramètre").Range("A1", "F5"), 2, False))

si jamais tu augmente le nombre de i > 6, du coup c'est un peu inutile mon action (j'ai fais ça rapidement j'avais pas étudier le code derrière ta boucle..

Sinon le code qui a changer et qui est important c'est le :

Sheets("Paramètre").Range("A1", "F" & fintab), 2, False))

fintab désignant la dernière ligne de ton tableau.

Merci. Le nombre d'onglet peut etre ammené à changer. Que doiss je faire donc avec le: For I = 3 To 9?

merci

fintab = Sheets("Paramètre").Range("A" & Rows.Count).End(xlUp).Row
    If loginCorrect = True Then If CStr(WorksheetFunction.VLookup(login, Sheets("Paramètre").Range("A1", "F" & fintab), 2, False)) = CStr(MdP) Then mdpCorrect = True Else MsgBox "Nom d'utilisateur ou mot de passe incorrect."
    If loginCorrect = True And mdpCorrect = True Then
        Feuil1.TextBox1 = ""
        LigUtil = Sheets("Paramètre").Cells.Find(login).Row
        For I = 3 To 9
            feuille = Sheets("Paramètre").Cells(1, I)
            If Sheets("Paramètre").Cells(LigUtil, I) = "x" Then Sheets(feuille).Visible = True
Rechercher des sujets similaires à "donnees varibales"