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 :

Code vba case à cocher


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut Code vba case à cocher
    Bonjour à tous,

    Petite question: dans mon fichier excel, je souhaiterais:
    - cocher une case: puis que le nom de l'utilisateur s'affiche + la cellule se protège ( pas de possibilité de modifier)
    - lors du décochage, que les informations disparaissent.

    Savez vous quels éléments sont à insérer dans le code VBA?

    Merci d'avance à tous,

    Bonne soirée

    Pauline

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037

  3. #3
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Merci beaucoup,

    Par contre j'ai un autre soucis: en effet mon code fonctionne mais il fait beuguer tout mon fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Private Sub Workbook_open()
    ActiveSheet.ScrollArea = "A1:A580"
    Dim nomutilisateur As String
    nomutilisateur = Environ("username") & " " & Application.UserName
    Sheets("Dossier étude").Range("A1").Value = nomutilisateur
    End Sub
    Auriez vous une idée du problème?

    merci

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je ne comprends pas pourquoi dans ton code tu mets un ScrollArea qui ne semble pas nécessaire ni pourquoi tu utilises deux éléments différents pour obtenir le nom d'utilisateur.

  5. #5
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Bonjour,
    1- je pensais que le scroll area était nécessaire, dans ce cas je vais l'enlever
    2- j'utilise deux éléments différents pour obtenir le nom d'utilisateur car le premier sert à le nommer et le deuxième sert à l'affecter dans une cellule.

    Dans ce cas, quelle devrait être l'écriture?

    Merci de votre aide

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par popolinodu56 Voir le message
    Dans ce cas, quelle devrait être l'écriture?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub Workbook_open()
       Sheets("Dossier étude").Range("A1").Value = Application.UserName
    End Sub

  7. #7
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Merci beaucoup cela fonctionne!

    Par contre j'ai une autre question: Mon idée est de cocher une case, et d'afficher li'identité de l'utilisateur ( le code fonctionne).
    Le problème est que dans mon fichier j'ai des zones de texte qui s'agrandissent --> les cellules sont susceptibles de bouger...

    Comment récupérer la position d'une cellule ( dans mon cas de case à cocher) et ensuite la réaffecter dans mon code afin d'affecter la signature dans la bonne cellule?

    J'espère avoir été claire

    Merci d'avance pour votre aide

    Popolino

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Si par position tu veux parler du numéro de ligne : https://msdn.microsoft.com/fr-fr/lib.../ff196952.aspx
    Ensuite, tu peux utiliser cette valeur dans les coordonnées d'un Cells ou d'un Range. https://msdn.microsoft.com/fr-fr/VBA...e-object-excel

    Tu peux aussi passer par un Offset : https://msdn.microsoft.com/fr-fr/lib.../ff840060.aspx

  9. #9
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Je ne suis pas douée mais je ne vois toujours pas comment récupérer la valeur de ma case à cocher.

    Merci

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Quelle est la nature de cette "case à cocher" ?
    Si c'est un contrôle de formulaire ou un contrôle ActiveX, je te suggère de changer de méthode et de passer par une simple cellule, ce sera beaucoup plus facile.

  11. #11
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Oui c'est un contrôle de formulaire.

    Par une simple cellule, c'est à dire?

    Merci

  12. #12
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Bin... tu mets un "x" dans une cellule pour la "cocher".

    Sinon, tu peux essayer de demander à la macro de "deviner" dans quelle ligne se trouve la case à cocher, ce qui peut éventuellement se faire en utilisant la propriété TopLeftCell de l'objet.
    https://msdn.microsoft.com/fr-fr/vba...property-excel
    Mais, à mon avis, ça reste très aléatoire.

  13. #13
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Ok, mais c’est toujours le même problème car ma case ou je met mon "x" peux aussi bouger...
    Or pour affecter mon code je devrais écrire si range( C25) est vide ou remplie :/

    Ou est ce qu'il y a un autre moyen?

    Merci Menhir

  14. #14
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par popolinodu56 Voir le message
    Ok, mais c’est toujours le même problème car ma case ou je met mon "x" peux aussi bouger...
    C'est bien pour ça que je te disais que c'est une méthode peu sûre et que je te conseille d'utiliser plutôt une simple cellule beaucoup plus facile à gérer.

    Or pour affecter mon code je devrais écrire si range( C25) est vide ou remplie :/
    Pour ça, il suffit de tester la propriété Value de la cellule.

  15. #15
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Merci Menhir, mais j'ai toujours des zones d'ombres...
    En effet, j'ai compris que le plus facile est d'utiliser une cellule simple plus facile à gérer en mettant un x dans la case.

    Mais pour appliquer mon code VBA j'ai toujours un problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim nomutilisateur As String
    nomutilisateur = Environ("username") & " " & Application.UserName
    Sheets("Dossier étude").Range("E314").Value = nomutilisateur
    Je vise une cellule( la E314) alors que ma case à cocher peut bouger( elle pourra devenir la E316, E320...).

    Merci d'avance et bonne journé

  16. #16
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    en nommant la cellule alors peu importe sa position ! …

    ___________________________________________________________________________________________________________
    Je suis Paris, Egypte, Nigeria, New-York, Mogadicio, Barcelone, London, Manchester, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  17. #17
    Membre averti
    Femme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 26
    Par défaut
    Génial merci beaucoup!!

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/04/2017, 17h02
  2. VBA case à cocher
    Par omlov88 dans le forum Windows
    Réponses: 1
    Dernier message: 10/01/2008, 09h42
  3. [VBA] Débutant Case à cocher
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 07/10/2005, 13h13
  4. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23
  5. Cases à cocher sous VBA
    Par dran dans le forum Général VBA
    Réponses: 4
    Dernier message: 15/11/2004, 21h50

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