VBA case à cocher

Bonjour,

J'aimerais intégrer un tableau quand je coche une case à cocher et que celui-ci se retire lorsque la case est décoché. J'avais fais des cases à cocher formulaire mais j'ai crû comprendre qu'il fallait des cases à cocher ActiveX pour cela...

Exemple : si je coche "bilan biologique standard" j'aimerais que le tableau "bilan biologique standard

24tab-copie.xlsm (80.09 Ko)

" (dans l'onglet de droite "tableaux") apparaisse sur mon onglet.

Je ne sais pas comment m'y prendre... L'onglet concerné est l'onglet "Fiche résident" et le deuxième "tableaux".

Je vous remercie par avance,

ERM.

Bonsoir RENMON, le forum,

Un essai....(à condition que tes tableaux restent tels quels, masquage des lignes en fonction des cases cochées).

52tab.xlsm (79.39 Ko)

Cordialement,

Cela marche effectivement mais sur la feuille "tableaux", j'aurais aimé qu'ils s'affichent sur la feuille "fiche résident" directement... Du coup, je me dis que je dois intégrer les tableaux directement à cette feuille en utilisant votre macro. La feuille "tableaux" devient superflue. J'ai essayé de modifier votre macro en conséquence mais je n'ai pas réussi...

6tab-copie.xlsm (72.71 Ko)

Petite question annexe : comment rendre le fond des cases à cocher transparent? Pour qu'il n'y ait pas ce cadre blanc autour...

Bonjour,

Merci pour ton retour,

23tab.xlsm (82.27 Ko)

Ton fichier modifié.....(pour les checkbox, j'ai modifié la couleur de fond dans les propriétés).

Cordialement,

Super, merci beaucoup. J'ai 2-3 choses à faire encore sur ce fichier en VBA, acceptez-vous de m'aider?

Re,

Pas de souci, le forum est là pour ça, si ce n'est moi, il y aura toujours un autre intervenant,

Libre à toi de poursuivre sur ce sujet où d'en créer un nouveau si la demande est vraiment différente.

Cordialement,

Merci bien. Je vais essayer d'être claire et concise alors... Je ne sais pas si ce que je souhaite faire est possible.

- En premier lieu, j'aimerais que lorsqu'un infirmier remplisse le formulaire (onglet "formulaire") pour saisir un nouveau résident qu'un onglet "fiche résident" s'ajoute automatiquement avec les informations pré-remplies dans la partie "identification" et que l'onglet en question soit automatiquement au nom du résident.

- Ensuite, que les tableaux s'affichent en fonction de ce qui est coché.. ce que tu m'as aidé à faire précédemment. C'est top. Je me demande tout de même comment faire s'il faut rajouter des lignes à un moment donné.. car la macro ne marche plus. D'ailleurs je songeais à ajouter un bouton pour cela (pour qu'un infirmier n'est pas à rajouter la ligne de lui-même, que l'outil soit prêt à l'emploi). D'ailleurs il aurait peut-être été mieux d'avoir une seule ligne au départ et qu'à chaque nouvelle saisie il faille cliquer sur ce bouton pour créer une nouvelle ligne quand cela est nécessaire, par exemple?. Cependant, cela ne me semble pas compatible avec la macro que tu as réalisé...

- Si une donnée est enregistrée (ex. TA qui se trouve dans le tableau bilan biologique et insuffisance cardiaque) peut-elle se reporter automatiquement dans les autres tableaux où elle apparait également? (avec la date saisie aussi dans la première colonne).

- Pour certaines données j'aimerais qu'un indice de couleur apparaisse pour notifier qu'elles sont en-deça ou au-dessus du taux idéal. J'ai rajouté dans les en-tête des tableaux les références. Une simple mise en forme conditionnelle peut éventuellement suffire? J'ai fais un essai dans la colonne Natrémie du tableau "pathologies chroniques".

Voilà c'est tout je pense pour que mon outil soit idéal... mais est-ce que cela est réalisable..?

Merci beaucoup,

Estelle.

Re,

Oups ! ça se complique....

Cordialement,

J'adore, c'est super!!! Vous avez appris à faire du VBA avec une formation ou tout seul ?

Oui peut-être que tout n'est pas possible, ou bien qu'un autre raisonnement serait plus adapté.. ça dépend des possibilités avec Excel.

Pour le point 4, la mise en forme conditionnelle marche bien : exemple. pour natrémie dans le tableau "pathologies chroniques" j'ai mis case en rouge si inférieur à 135 et supérieur à 145. La seule chose c'est que la case est rouge de facto même quand je n'ai pas encore rentré une donnée, il n'y a que si je rentre 136 par exemple que le code couleur disparait. J'ai fais cela sur l'onglet fiche résident donc quand je crée un nouveau résident cela marche bien sur les tableaux qui se reportent dans la fiche.

Bonjour RENMON, le forum,

J'adore, c'est super!!! Vous avez appris à faire du VBA avec une formation ou tout seul ?

Je suis autodidacte, tout comme toi, j'ai eu besoin de créer un formulaire pour le boulot, et ne connaissant rien à excel, j'ai profité du site pour le réaliser.

Maintenant j'essaie de progresser à mon rythme et d'apporter mon aide en retour, dans la limite de mes possibilités,


Bravo pour le point 4, , je pense qu'il s'agit effectivement de la meilleure solution.

  • Pour le point 2:

A tester.....j'utilise des tableaux structurés....l'ajout où la suppression de lignes devraient être pris en compte,


Cordialement,

Dis-moi...

J'ai crée des messages de saisie avec la validation des données (onglets > fiche résident, cellule C22 par exemple) mais j'aimerais modifier la taille des infobulles (par exemple l'infobulle en C43, tu verras pourquoi en cliquant dessus). Je ne trouve rien sur internet pour répondre à ma question... à part passer par du VBA pour faire une fenêtre, ce que j'ai fais pour tester, mais je trouve qu'une simple infobulle me suffit plutôt qu'une fenêtre qui apparait avec VBA.

Merci,

Estelle RM.

16test.xlsm (95.18 Ko)

C'est nickel pour les tableaux structurés, ça marche bien en rajoutant des lignes. Je vais laisser comme ça du coup!

J'ai trouvé une solution alternative pour le point 3, je te remercie pour ton aide sur les autres points. Si jamais tu as une idée pour les infobulles (dernier fichier joint je suis preneuse). Merci encore pour le travail réalisé! Estelle

Bonjour,

Si jamais tu as une idée pour les infobulles (dernier fichier joint), je suis preneuse.

Désolé, je ne sais pas faire.

Toutefois, voici une solution similaire avec des commentaires....

J'ai créée un tableau de comparaison( feuille TB, qui peut être masquée), à chaque création de feuille , on cherche la correspondance de chaque titre de colonne de chaque tableau et on insère un commentaire si il est trouvé (macro CréeBulles appelée dans la macro Création_Résident).

Au survol de la souris, le commentaire apparait...

Attention toutefois à ce que les titres correspondent bien aux textes du tableau (majuscules, minuscules, signe, etc...).

Je n'ai rempli qu'une partie du tableau, à toi de continuer si cela te convient.(Pour les mots composés, j'ai rajouté un saut de ligne pour une meilleure visibilité dans le commentaire).

A tester.....

Cordialement,

Bonjour Xorsankukai,

Je reviens vers toi car j'ai encore des modifications à faire sur mon fichier. Pour gagner en autonomie, pourrais-tu m'expliquer comment faire la macro pour faire apparaitre et disparaitre un tableau quand on coche un onglet? Et relier cette macro à la bonne case? Tu peux voir en PJ que j'ai rajouté des nouvelles cases à cocher, j'ai crée les tableaux correspondants dans l'onglet "tableaux" (en bas de page sous la ligne jaune)... je veux bien essayer de faire ça toute seule car si j'ai d'autres modifications à faire après je ne serai pas obligée de te solliciter à nouveau... j'ai essayé de reprendre un code mais ça n'a rien donné...

Merci !!

Bonjour RENMON, le forum,

J'ai eu un peu de mal à me remettre dans ton fichier....

Je vais essayé de t'expliquer comment j'ai procédé.

  • Nous allons créer le tableaux NFS.
  1. Pour commencer, on copie le tableau NFS sous le dernier tableau de la feuille Résident, en laissant une ligne vide entre les 2 tableaux.
  2. On sélectionne tout le tableau (sauf la première ligne "NFS"), clic sur mettre sous forme de tableau, cocher "mon tableau comporte des entêtes". j'ai supprimé les bordures puisque le tableau en comporte déjà, je les ai laissées sur la ligne NFS.
  3. Tu remarqueras alors un nouveau Tableau dans le gestionnaire des noms: Tableau16
image
  • Sur la feuille Résident,renommons la checkbox "NFS" (Dévelopeur/Création/clic droit sur checkbox/Propriétés): dans la case Name, on rentre NFS.
  • Tu peux modifier la couleur (backcolor)
image

1. Ensuite,clic droit sur la checkbox, Visualiser le code.

2. colle ces lignes de code génériques:

 With ActiveSheet.ListObjects(16)
 'MsgBox .HeaderRowRange.Row   'n° ligne entêtes
  If .InsertRowRange Is Nothing Then
    Set rcell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
  Else
    Set rcell = .InsertRowRange.Cells(1)
  End If
 ' MsgBox rcell.Row  ' n° dernière ligne
  Rows(.HeaderRowRange.Row - 1 & ":" & rcell.Row).Hidden = IIf(NFS = True, False, True)
End With

Tu obtiens alors:

Private Sub NFS_Click()
 With ActiveSheet.ListObjects(16)
 'MsgBox .HeaderRowRange.Row   'n° ligne entêtes
  If .InsertRowRange Is Nothing Then
    Set rcell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1)
  Else
    Set rcell = .InsertRowRange.Cells(1)
  End If
 ' MsgBox rcell.Row  ' n° dernière ligne
  Rows(.HeaderRowRange.Row - 1 & ":" & rcell.Row).Hidden = IIf(NFS = True, False, True)
End With
End Sub

3. Quitte le mode création et teste.

Essaie de faire la même chose avec Bilan Inflammatoire, il te faudra modifier ces 2 lignes:

With ActiveSheet.ListObjects(16)
IIf(NFS = True, False, True)

Le tableau devrait être le 17, et remplacer NFS par le nom de ta checkbox, par exemple bilan_inflammatoire).

Si c'est OK, tu poursuis avec "Bilan hépatique", "Fonction rénale", "HTA", "Désordre électrolytique", "Insuffisance respiratoire" et "Constipation"....

Bon courage,

Rechercher des sujets similaires à "vba case cocher"