Formulaire VBA sans un userform

Re,

Houlala si tu as Dim MonPassword As Integer tu ne peux pas faire MonPassword = "kawter" il faut choisir String et pas Integer

Ce qui donne ...

Private Sub Workbook_Open()
    Dim i As Byte
    Dim MonPassword As String
    'afficher la feuille 'Sommaire'des l'ouverture du classeur
    Worksheets("Sommaire").Activate
    'on faire une boucle permettant de masquer toutes autre feuilles'Rapports Kawter .....
    For i = 1 To Sheets.Count - 1
        Sheets("Rapport" & i).visible = False
    Next i
    'pour recupere le code ou mot de passe normalement ces dans une boite de type inputBox comment faire maintenent???
    MonPassword = InputBox("Entrez votre mot de passe", "Connexion", "Entrez du texte")

    Select Case MonPassword

        Case "kawter"    'Then 'il ma cree une anomalie que j'arrive pas a la regle ces msg"erreur d'execution13
            With Worksheets("RapportsKawter")
                .visible = True
                .Select
                .Range("B2").Select
            End With

        Case "naila"
            With Worksheets("RapportsNaila")
                .visible = True
                .Select
                .Range("B2").Select
            End With

        Case "didi"
            With Worksheets("RapportsDidi")
                .visible = True
                .Select
                .Range("B2").Select
            End With

        Case "admin"
            With Worksheets("Rapports " & i)
                .visible = True
                .Select
                .Range("B2").Select
            End With
        Case Else
            MsgBox "Entrez un mot de passe valide", vbOKOnly Or vbExclamation, Application.Name
    End Select
End Sub

@jean paul ces pas variant

Dim MonPassword As Variant

parque en ces pas le mot de passe sur qu'elle format il sera ??????

ces une supposition

à la sortie d'un InputBox c'est toujours du texte même s'il comporte des chiffres

image image

Voili voilou...

PS Elle est dure la langue Française "C'est, Ses, Ces, Sais...."

Re,

Pour le Integer, c'est moi qui me suis trompé dans un post précédent... (j'ai répondu trop vite là ...

Pour votre question de Variant, cette déclaration prend tout mais c'est celle à éviter en matière d'allocation mémoire d'excel
Donc STRING est celle à utiliser. Merci à Jean Paul qui a rectifié

Sinon votre code pour rendre les feuilles masquées va buguer, faites plutôt comme ceci

     For i = 1 To Sheets.Count - 1
        If Sheets(i).Name <> "Sommaire" Then Sheets(i).Visible = False
     Next i

Sinon iIl y a juste une chose que j'aurais plutôt faite, c'est de cacher les feuilles à la fermeture du fichier plutôt qu'à l'ouverture.

salut@DAN+@jean-Paul

Avant tous merci
@Dan sur instruction de la feuille "Sommaire" il ne y'a pas que la feuille "Sommaire" qui figure il y'a aussi la feuille "RapportsDidi" qui s'affiche par contre scripte que vous avez mis il paré normale.

je croix vous avez mis l'instruction pour montre que la feuille "sommaire" aussi les 3 compte marche mes pas le compte admin,,,,?.

Re

désolé mais je n'ai rien compris à votre message...

Si vous ne voulez que la feuille Sommaire, vous devez enlever le -1 derrière Sheet.count

Cordialement

salut@DAN

oui ce que je voulais mais j'ai enlever -1 mais tjr elle figure la feuille "RapportsDidi" au démarrage problème je ne ces pas pourquoi les chose ne marche pas normale .

cdlt

oui ce que je voulais mais j'ai enlever -1 mais tjr elle figure la feuille "RapportsDidi" au démarrage problème je ne ces pas pourquoi les chose ne marche pas normale .

Vous avez enregistré et fermé votre fichier après avoir enlevé le - 1 ?

+@Dan

salut, je voie que ces bon tous t'ai devenue normale je ne ces pas comment .

svp instruction pour affiche la 2 eme feuille "Formulaire "

Private Sub Workbook_Open()
    Dim i As Byte
    Dim t As Byte
    Dim MonPassword As String
    'afficher la feuille 'Sommaire'des l'ouverture du classeur
    Worksheets("Sommaire").Activate
    Worksheets("Formulaire").Activate
    'on faire une boucle permettant de masquer toutes autre feuilles'Rapports Kawter .....
    For i = 2 To Sheets.Count
        If Sheets(i).Name <> "Sommaire" Then Sheets(i).Visible = False
    Next i
    For t = 2 To Sheets.Count
        If Sheets(i).Name <> "Formulaire" Then Sheets(i).Visible = False
    Next t

ou pas

aussi pour le compte admin qui a tous l’accès sur toute les pages ces ca ?

 Case "admin"
            With Worksheets("Rapports" & i, t)
                .Visible = True
                .Select
                .Range("B2").Select
            End With
        Case Else

il veule pas marché .

La demande de votre mot de passe vous voulez l'avoir à l'ouverture du fichier ou après l'ouverture du fichier

Qu'est ce que vous avez dans la feuille Sommaire ?

Sinon vous pouvez essayer ceci :

Private Sub Workbook_Open()
Dim i As Byte
Dim MonPassword As String

'on faire une boucle permettant de masquer toutes autre feuilles'Rapports Kawter .....
For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Sommaire" And Sheets(i).Name <> "Formulaire" Then
        Sheets(i).Visible = False
    Else: Sheets(i).Visible = True
    End If
Next i
'afficher la feuille 'Sommaire'des l'ouverture du classeur
Worksheets("Sommaire").Activate

MonPassword = InputBox("Entrez votre mot de passe", "Connexion", "Entrez du texte")

If MonPassword = "kawter" Then
    With Worksheets("RapportsKawter")
        .Visible = True
        .Select
        .Range("B2").Select
    End With
End If
If MonPassword = "naila" Then
    With Worksheets("RapportsNaila")
        .Visible = True
        .Select
        .Range("B2").Select
    End With
End If

If MonPassword = "didi" Then
    With Worksheets("RapportsDidi")
        .Visible = True
        .Select
        .Range("B2").Select
    End With
End If

If MonPassword = "admin" Then
    For i = 1 To Sheets.Count
        Sheets(i).Visible = True
    Next i
End If
End Sub

salut@DAN

ca j'ai pas sue le cherche ou le faire .

je veut faire pour une personne une colonnes qui figure que pour lui exemple qui figure sur son rapport .les autre non

exemple: didi la colonne des frais de mission figure pour lui mais pas pour les autre .

comment faire ,,,?

salut@DAN

une erreur persiste erreur d’exécution 1004 l'ors du dépogage me sort cette ligne "r = t.ListRows.Add.Index"

,,,?????

Bonjour,

@DAN

sur le script que ru ma donnes il me mis ce message d'erreur comment remédier svp
voila msg :erreur d'execution '1004' qu'ant je débogage je voie cette action :r = t.ListRows.Add.Index

Bonjour

sur le script que ru ma donnes il me mis ce message d'erreur comment remédier svp
voila msg :erreur d'execution '1004' qu'ant je débogage je voie cette action :r = t.ListRows.Add.Index

Désolé mais ce n'est pas moi qui vous ai donné ce code mais Jean Paul à qui je laisse le soin de vous répondre --> https://forum.excel-pratique.com/s/goto/1052976

Sinon je pense que le souci vient de Index

Cordialement

Salut,

On va vérifier quelques points ensembles

  • On va afficher la fenêtre espions dans l'environnement VBE avec le menu Affichage puis Click sur Fenêtre espions
image
  • Ensuite on va placé un point d'arrêt sur la ligne qui pose problème en cliquant dans la barre grise à gauche ou bien en sélectionnant la ligne puis F9
image
  • Ensuite on rajoute un espion en mettant t en surbrillance puis Shift + F9 ou bien click droit et Ajouter un espion.
  • Tu peux maintenant retourner sous Excel est lancer la macro en cliquant sur Save and New
  • Tu dois avoir t qui s'affiche avec la valeur t_Datas si ce n'est pas le cas c'est que tu as du changer le nom du tableau.
image
  • En cliquant sur le plus tu retrouve toutes les propriétés du LisObject
  • Je viens de voir un souci vérifie que tu n'est pas deux fois "Nom Reporteur" dans l'appel de AddDatas si oui supprimes-en un plus la virgule
image

bonjour, jean paul

merci pour votre accompagnement .

j'ai fait les étapes prescrit je constate que une autre anomalie surgit "Erreur de compilation"

erreur

comment je peut voire le nom du tableau par ce que j'ai rien changer .

Salut,

On ne vois rien du tout sur la capture d'écran, donc je ne peux point répondre,

erreur

bonjour jeau paul

voila le contenue .

Du coup plus d'erreur sur la photo

Peux-tu envoyer un fichier sans données confidentielles ?

Rechercher des sujets similaires à "formulaire vba userform"