Macro
Fermé
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
-
Modifié par Aulane le 20/09/2015 à 14:30
Aulane Messages postés 84 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 29 juillet 2017 - 12 déc. 2015 à 11:54
Aulane Messages postés 84 Date d'inscription mardi 27 janvier 2009 Statut Membre Dernière intervention 29 juillet 2017 - 12 déc. 2015 à 11:54
A voir également:
- Macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Telecharger macro nblettre.xla - Forum Bureautique
77 réponses
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
20 sept. 2015 à 14:28
20 sept. 2015 à 14:28
Bonjour
L'enregistreur de macro ne te permettra pas de faire tout ça
Tu peux enregistrer par macro la suppression des lignes 16 à 30, cela doit donner :
Ensuite pour avoir une suppression modulable tu dois modifier ta macro en ajoutant une entrée de la 1ere ligne à supprimer et de la dernière et en modifiant la suite du code en conséquence :
Cdlmnt
Via
L'enregistreur de macro ne te permettra pas de faire tout ça
Tu peux enregistrer par macro la suppression des lignes 16 à 30, cela doit donner :
Sub Macro1() Rows("16:30").Select Selection.Delete Shift:=xlUp End Sub
Ensuite pour avoir une suppression modulable tu dois modifier ta macro en ajoutant une entrée de la 1ere ligne à supprimer et de la dernière et en modifiant la suite du code en conséquence :
Sub Macro1() d = InputBox("N° 1ere ligne à supprimer") f = InputBox("N° dernière ligne") Rows(d & ":" & f).Select Selection.Delete Shift:=xlUp End Sub
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
20 sept. 2015 à 15:04
20 sept. 2015 à 15:04
Bonjour via55,
Je crois que j'ai compris, sauf que je ne veux supprimer (physiquement) uniquement que les lignes à l'intérieur de mon tableau, (A14:H43) par exemple dans le cas de la deuxième macro cela devrait se traduire (si possible) par une plage de données A29:H43.
Par contre l'indication du nombre de lignes a saisir(3 à 29 // 30 par défaut donc sans modification du tableau) dans la cellule H9, je peux peut être créer une variable (p. ex. n=H9) et indiquer le nombre de cellules à supprimer par A14+n+1 (16e ligne incluse) H43 (derniere cellule de la dernière ligne du tableau.
Cela te semble t-il cohérent? Qu'en penses_tu?
Très cordialement
Je crois que j'ai compris, sauf que je ne veux supprimer (physiquement) uniquement que les lignes à l'intérieur de mon tableau, (A14:H43) par exemple dans le cas de la deuxième macro cela devrait se traduire (si possible) par une plage de données A29:H43.
Par contre l'indication du nombre de lignes a saisir(3 à 29 // 30 par défaut donc sans modification du tableau) dans la cellule H9, je peux peut être créer une variable (p. ex. n=H9) et indiquer le nombre de cellules à supprimer par A14+n+1 (16e ligne incluse) H43 (derniere cellule de la dernière ligne du tableau.
Cela te semble t-il cohérent? Qu'en penses_tu?
Très cordialement
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
20 sept. 2015 à 15:17
20 sept. 2015 à 15:17
Re
Parfaitement
Si je comprends bien la suppression se fait toujours jusqu'à la ligne 43, dans ce cas au lieu d'avoir à indiquer le nombre de lignes à supprimer (fastidieux de les compter) il serait plus judicieux d'indiquer le n° de la 1ere ligne
Avec ce n° indiqué en cellule H9 de la feuille la ligne de la macro devient :
Rows("A"& range("H9) &":H43").Select
Cdlmnt
Via
Parfaitement
Si je comprends bien la suppression se fait toujours jusqu'à la ligne 43, dans ce cas au lieu d'avoir à indiquer le nombre de lignes à supprimer (fastidieux de les compter) il serait plus judicieux d'indiquer le n° de la 1ere ligne
Avec ce n° indiqué en cellule H9 de la feuille la ligne de la macro devient :
Rows("A"& range("H9) &":H43").Select
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
21 sept. 2015 à 11:12
21 sept. 2015 à 11:12
Bonjour via55,
une petite explication détaillée de cette formule, me serait d'une grande utilité je pense...
merci d'avance
cordialement
aulane
une petite explication détaillée de cette formule, me serait d'une grande utilité je pense...
merci d'avance
cordialement
aulane
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
>
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
21 sept. 2015 à 11:50
21 sept. 2015 à 11:50
Bonjour Aulane
Cette ligne sélectionne les lignes An:H43 la valeur de n étant à relever dans la cellule H9 de la feuille (Range("H9") ) je m'aperçois d'ailleurs que le guillemet après le 9 a sauté dans mon précédent message
En fait on reconstitue une plage valide en concaténant A avec le n° de la 1ere ligne à supprimer indiqué en H9 et avec :H43 "A" & range("H9") & ":H43"
Si par exemple en H9 on a entré 21 la macro lira A21:H43 et sélectionnera cette plage avent de l'effacer, comme si on avait écrit directement Rows("A21:H43").Select
Cdlmnt
Via
Cette ligne sélectionne les lignes An:H43 la valeur de n étant à relever dans la cellule H9 de la feuille (Range("H9") ) je m'aperçois d'ailleurs que le guillemet après le 9 a sauté dans mon précédent message
En fait on reconstitue une plage valide en concaténant A avec le n° de la 1ere ligne à supprimer indiqué en H9 et avec :H43 "A" & range("H9") & ":H43"
Si par exemple en H9 on a entré 21 la macro lira A21:H43 et sélectionnera cette plage avent de l'effacer, comme si on avait écrit directement Rows("A21:H43").Select
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
22 sept. 2015 à 19:06
22 sept. 2015 à 19:06
Bonsoir via55
J'ai pondu quelque chose mais j'ai de gros doutes sur sa validité
.
Sub suppressionlignes()
N=H9 c'est ma variable du nombre 10 jours d'utilisation u tableau
Il faut que j'additionne à la ligne A14 qui correspond au 1er jour du
tableau les 10 jours à préserver pour obtenir la cellule A24
départ de la suppression de la 1ere ligne jusqu'à la ligne H43
Rows (« A 14 »&range(« H9 »)& : »H43 »).Select
Pour fixer la cellule de départ de la suppression
Selection.Delete
End Sub
je crois bien que c'est complètement nul.
cordialement
J'ai pondu quelque chose mais j'ai de gros doutes sur sa validité
.
Sub suppressionlignes()
N=H9 c'est ma variable du nombre 10 jours d'utilisation u tableau
Il faut que j'additionne à la ligne A14 qui correspond au 1er jour du
tableau les 10 jours à préserver pour obtenir la cellule A24
départ de la suppression de la 1ere ligne jusqu'à la ligne H43
Rows (« A 14 »&range(« H9 »)& : »H43 »).Select
Pour fixer la cellule de départ de la suppression
Selection.Delete
End Sub
je crois bien que c'est complètement nul.
cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
22 sept. 2015 à 19:11
22 sept. 2015 à 19:11
Pas sur d'avoir tout compris mais si tu veux supprimer de A24 à H43
24 étant trouvé en ajoutant à 14 la variable en H9 la ligne correcte serait :
Rows ("A"& 14+ range("H9") & ":H43").Select
Cdlmnt
24 étant trouvé en ajoutant à 14 la variable en H9 la ligne correcte serait :
Rows ("A"& 14+ range("H9") & ":H43").Select
Cdlmnt
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
23 sept. 2015 à 10:30
23 sept. 2015 à 10:30
Bonjour via55,
Merci j'ai bien lu ce que tu m'as envoyé, je vais essayer de me dépatouiller avec çà, si ça marche, super je te le dirai bien sûr. Mais si mes neurones se sont mélangés les pinceaux, je crois que le plus judicieux et le plus raisonnable auquel j'aurais dû penser bien plus tôt, j'essayerai de t'envoyer mon fichier par cjoint.
je t'enverrai même 2 fichiers, celui vierge sur lequel je travail sur Excel 2010 et une copie PDF d'un fichier perso terminé tels qu'apparaissent les résultats pour un intermède (5 semaines) entre 2 cures (sur ce dernier l'échelle du graphique est inversée à la demande du toubib sans incidence sur la finalité et pas non plus de durée ni d'identité, puisque perso et gèré par moi quotidiennement.
qu'en penses-tu?
Je retourne à l'hôpital ce vendredi matin, vraisemblablement jusqu'à mardi 29 sauf complications et je ne sais pas si je pourrai raccorder mon portable à un réseau wifi, ne t'étonne pas si je ne répond tout de suite à tes courriers.
Merci d'avance.
Cordialement
Merci j'ai bien lu ce que tu m'as envoyé, je vais essayer de me dépatouiller avec çà, si ça marche, super je te le dirai bien sûr. Mais si mes neurones se sont mélangés les pinceaux, je crois que le plus judicieux et le plus raisonnable auquel j'aurais dû penser bien plus tôt, j'essayerai de t'envoyer mon fichier par cjoint.
je t'enverrai même 2 fichiers, celui vierge sur lequel je travail sur Excel 2010 et une copie PDF d'un fichier perso terminé tels qu'apparaissent les résultats pour un intermède (5 semaines) entre 2 cures (sur ce dernier l'échelle du graphique est inversée à la demande du toubib sans incidence sur la finalité et pas non plus de durée ni d'identité, puisque perso et gèré par moi quotidiennement.
qu'en penses-tu?
Je retourne à l'hôpital ce vendredi matin, vraisemblablement jusqu'à mardi 29 sauf complications et je ne sais pas si je pourrai raccorder mon portable à un réseau wifi, ne t'étonne pas si je ne répond tout de suite à tes courriers.
Merci d'avance.
Cordialement
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
23 sept. 2015 à 15:02
23 sept. 2015 à 15:02
Re via55, ça n'a pas marché, je t'envoie donc ces 2 fichiers par cjoint
cordialement
http://www.cjoint.com/c/EIxjCHfj8ou
https://www.cjoint.com/c/EIxjD5BL7Mu
cordialement
http://www.cjoint.com/c/EIxjCHfj8ou
https://www.cjoint.com/c/EIxjD5BL7Mu
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
23 sept. 2015 à 11:30
23 sept. 2015 à 11:30
Re via55, ça n'a pas marché, je t'envoie donc ces 2 fichiers par cjoint
cordialement
http://www.cjoint.com/c/EIxjCHfj8ou
https://www.cjoint.com/c/EIxjD5BL7Mu
cordialement
http://www.cjoint.com/c/EIxjCHfj8ou
https://www.cjoint.com/c/EIxjD5BL7Mu
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
23 sept. 2015 à 21:02
23 sept. 2015 à 21:02
Bonsoir Aulane
Désolé c'est moi qui t'ai dit une bêtise en allant trop vite !
Puisque c'est ROWS il faut juste indiquer les n°S de ligne et pas les lettres des colonnes
Rows (14+ range("H9") & ":43").Select
Par contre au vu de ton fichier il va y avoir un problème car en effaçant les lignes 24 à 43 tu vas aussi effacer ton tableau des critères à côté
Donc soit il faut passer ce tableau en dessous, soit sur une autre feuille
Mais si tu veux garder le tableau critères à coté il ne faut pas effacer les lignes, il faut effacer la plage et remonter les lignes de totaux
Bon courage pour l'hôpital
Cdlmnt
Via
Désolé c'est moi qui t'ai dit une bêtise en allant trop vite !
Puisque c'est ROWS il faut juste indiquer les n°S de ligne et pas les lettres des colonnes
Rows (14+ range("H9") & ":43").Select
Par contre au vu de ton fichier il va y avoir un problème car en effaçant les lignes 24 à 43 tu vas aussi effacer ton tableau des critères à côté
Donc soit il faut passer ce tableau en dessous, soit sur une autre feuille
Mais si tu veux garder le tableau critères à coté il ne faut pas effacer les lignes, il faut effacer la plage et remonter les lignes de totaux
Bon courage pour l'hôpital
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
24 sept. 2015 à 10:00
24 sept. 2015 à 10:00
Bonjour via55, merci beaucoup
Ne sois pas désolé, c'est moi qui me suis mal exprimé et après ce mois que j'ai passé (j'ai quand même côtoyé la grande faucheuse) ça commence à aller mieux, mais je me suis emmêlé les pinceaux
As-tu reçu les 2 fichiers, le vierge sur lequel je travaille avec Excel 2010 et le PDF personnel (pour information) donc pas de renseignements (identité du patient, âge, etc.) mais sur le premier nombre de jours de traitement bloqué à 10 (jours) en cellule H9.
Je crois bon ayant je pense avoir repris mes esprits de te faire une petite synthèse de ce je voudrais faire, avant excuse-moi si ce qui va suivre pourra être un peu répétitif ou déjà vu, mais je veux lever toutes équivoque ou erreurs que j'ai pu commettre. (Je suis resté depuis le 27 août un peu dans le seau) Donc je développe et pardon si je raconte n peu ma vie, mais c'est pour planter les décors.
Ce fichier a séduit mon toubib au cours consultation de routine (pour mes cures toutes les 5 semaines depuis 2009) où je lui faisais voir la courbe d'évolution du traitement sur le graphique, il m'a demandé si je voulais bien lui permettre d'en bidouiller un exemplaire pour l'utiliser aux fins de suivre certains de ses patients. Accord bien entendu avec un bémol car le fichier n'étant pas protégé, la moindre fausse manoeuvre pouvait le rendre inutilisable je lui ai proposé de lui en faire une version (gratuitement bien sûr) adéquate programmable par patient et modulable dans la durée du traitement. (Mais mon « basic » à foutu le camp en grande partie...) et voilà pourquoi je m'empoisonne la vie aves ce temps d'utilisation. De plus avec toutes ces péripéties (une bactérie fin août a bien failli arrêter définitivement mes ambitions) je crois bien que mes neurones en ont pris un bon coup cette fois ! Bref tant qu'il y a de la vie il y a de l'espoir !
Donc pour en revenir à mon fichier :
En prime abord, il faut enregistrer ce fichier (les protections adéquates effectuées) dans les modèles perso
Excuse-moi d'être un peu « longuet » mais en détaillant le fonctionnement du programme, il est plus facile de créer la suite.
Merci mille fois encore.
Cordialement
aulane
Ne sois pas désolé, c'est moi qui me suis mal exprimé et après ce mois que j'ai passé (j'ai quand même côtoyé la grande faucheuse) ça commence à aller mieux, mais je me suis emmêlé les pinceaux
As-tu reçu les 2 fichiers, le vierge sur lequel je travaille avec Excel 2010 et le PDF personnel (pour information) donc pas de renseignements (identité du patient, âge, etc.) mais sur le premier nombre de jours de traitement bloqué à 10 (jours) en cellule H9.
Je crois bon ayant je pense avoir repris mes esprits de te faire une petite synthèse de ce je voudrais faire, avant excuse-moi si ce qui va suivre pourra être un peu répétitif ou déjà vu, mais je veux lever toutes équivoque ou erreurs que j'ai pu commettre. (Je suis resté depuis le 27 août un peu dans le seau) Donc je développe et pardon si je raconte n peu ma vie, mais c'est pour planter les décors.
Ce fichier a séduit mon toubib au cours consultation de routine (pour mes cures toutes les 5 semaines depuis 2009) où je lui faisais voir la courbe d'évolution du traitement sur le graphique, il m'a demandé si je voulais bien lui permettre d'en bidouiller un exemplaire pour l'utiliser aux fins de suivre certains de ses patients. Accord bien entendu avec un bémol car le fichier n'étant pas protégé, la moindre fausse manoeuvre pouvait le rendre inutilisable je lui ai proposé de lui en faire une version (gratuitement bien sûr) adéquate programmable par patient et modulable dans la durée du traitement. (Mais mon « basic » à foutu le camp en grande partie...) et voilà pourquoi je m'empoisonne la vie aves ce temps d'utilisation. De plus avec toutes ces péripéties (une bactérie fin août a bien failli arrêter définitivement mes ambitions) je crois bien que mes neurones en ont pris un bon coup cette fois ! Bref tant qu'il y a de la vie il y a de l'espoir !
Donc pour en revenir à mon fichier :
En prime abord, il faut enregistrer ce fichier (les protections adéquates effectuées) dans les modèles perso
- La première cellule de la première ligne du tableau est A14 et dernière H43
- Dans la cellule H9 le nombre rentré correspond à la durée du traitement
- Pour adapter le tableau à cette durée il faut donc supprimer la plage (C'est là que j'ai merdé) en partant de la cellule A14 + H9 c'est-à-dire dans cet exemple de 10 jour A24 à H43
- Remonter partiellement les lignes restantes sous la nouvelle position de la dernière ligne du tableau en cliquant dans la petite fenêtre qui apparaît « Remonter vers le haut »
- Cette macro sera attribuée au bouton OK qui replacera le curseur sur la cellule du premier critère à savoir : R13 pour renseigner tout le programme
- Le graphique suit automatiquement la modification apportée à la BDD (ça marche très bien en faisant la manip manuellement)
- Mais si il y a erreur dans la cellule H9 après avoir cliqué sur OK, impossible de faire marche arrière (trop compliqué) il faudra cliquer sur le bouton REFAIRE (la macro est prête, il me faut simplement connaitre le nom de l'ordinateur ou peut-être créer un alias ? peux-tu me tuyauter aussi sur cette possibilité ?) qui retournera chercher le fichier dans le dossier MODÈLE et recommencer l'opération précédente (d'où l'intérêt de formater en premier la durée du traitement avant tous les autres paramètres
- Les autres boutons « SUITE » : S le traitement doit être prolongé, ajouter feuille au fichier et aller chercher le modèle (comme pour refaire),
- Un autre bouton à créer "NOUVEAU" pour enregistrer et fermer le fichier et créer un nouveau fichier pour un autre patient éventuellement.
- Indiquer comme précédemment le nombre de jours si besoin (Le fichier fonction pour 30 jours par défaut)
- Copier et coller les critères et l'entête jusqu'à la date qui sera saisie manuellement
- Le programme est prêt à être utilisé
Excuse-moi d'être un peu « longuet » mais en détaillant le fonctionnement du programme, il est plus facile de créer la suite.
Merci mille fois encore.
Cordialement
aulane
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
25 sept. 2015 à 18:34
25 sept. 2015 à 18:34
Bonjour Aulane
Je ne sais pas pourquoi mais impossible de travailler sur ton fichier il fait buguer mon Excel !
J'ai donc recréé un fichier avec comme principe :
1) Pas de macro pour modifier les lignes mais des formules qui à la modification du nombre de jours inscrivent les n°s et les dates, elles ont doublées par une mise en forme conditionnelle qui met les bordures
Les cellules avec formules sont protégées par Protection de la feuille
Du coup comme dans tout tableau de longueur variable il est préférable de placer les totaux au-dessus et non en dessous (avec une formule s'appliquant à toutes les cellules inférieures); c'est ce que j'ai fait
2) Le changement de la valeur du nombre de jours lance la macro qui adapte la plage des sources de données pour le graphique, on peut donc se tromper et modifier le nombre de jours autan que l'on veut !
3) A la fermeture du classeur la macro mise dans ThisWorkbook enregistre le classeur dans le même répertoire que le dossier original mais sous un nom composé du Nom et du prénom rentrés en B2 et B3, donc pas de risque d'erreur, le fichier original reste toujours intact
http://www.cjoint.com/c/EIzqzNifXDe
Je pense que tu n'auras pas trop de mal à adapter cet exemple à ton fichier
Cdlmnt
Via
Je ne sais pas pourquoi mais impossible de travailler sur ton fichier il fait buguer mon Excel !
J'ai donc recréé un fichier avec comme principe :
1) Pas de macro pour modifier les lignes mais des formules qui à la modification du nombre de jours inscrivent les n°s et les dates, elles ont doublées par une mise en forme conditionnelle qui met les bordures
Les cellules avec formules sont protégées par Protection de la feuille
Du coup comme dans tout tableau de longueur variable il est préférable de placer les totaux au-dessus et non en dessous (avec une formule s'appliquant à toutes les cellules inférieures); c'est ce que j'ai fait
2) Le changement de la valeur du nombre de jours lance la macro qui adapte la plage des sources de données pour le graphique, on peut donc se tromper et modifier le nombre de jours autan que l'on veut !
3) A la fermeture du classeur la macro mise dans ThisWorkbook enregistre le classeur dans le même répertoire que le dossier original mais sous un nom composé du Nom et du prénom rentrés en B2 et B3, donc pas de risque d'erreur, le fichier original reste toujours intact
http://www.cjoint.com/c/EIzqzNifXDe
Je pense que tu n'auras pas trop de mal à adapter cet exemple à ton fichier
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
30 sept. 2015 à 11:11
30 sept. 2015 à 11:11
Bonjour Via,
Ça va faire la 3e fois que je fait une réponse à ton dernier mail, de mémoire, j'ai du écrire que je suis sorti de l'hôpital lundi après midi un peu fatigué, j'ai lu ton mail et mardi j'ai tenté une première fois une réponse que j'ai perdu en cours de route, j'ai recommencé ce matin même punition, je suis mal marié avec cjoint mais ça devrait s'arranger avec le temps (a voir!) je répète ma première mouture de mémoire, j'ai bien lu ta réponse mais je n'ai pas pu rentrer dans ton fichier car la feuille est protégée d'une part et je n'ai trouvé aucune trace des formules et macros dont tu fais état dans ton mail d'autre part, très étonné que mon fichier ai bugué avec ton Excel, je te renvoie le fichier, j'ai peut-être fait une bourde la première fois.
A te lire, très cordialement à toi
--https://www.cjoint.com/c/EIDkdPgo6Z4
aulane
Ça va faire la 3e fois que je fait une réponse à ton dernier mail, de mémoire, j'ai du écrire que je suis sorti de l'hôpital lundi après midi un peu fatigué, j'ai lu ton mail et mardi j'ai tenté une première fois une réponse que j'ai perdu en cours de route, j'ai recommencé ce matin même punition, je suis mal marié avec cjoint mais ça devrait s'arranger avec le temps (a voir!) je répète ma première mouture de mémoire, j'ai bien lu ta réponse mais je n'ai pas pu rentrer dans ton fichier car la feuille est protégée d'une part et je n'ai trouvé aucune trace des formules et macros dont tu fais état dans ton mail d'autre part, très étonné que mon fichier ai bugué avec ton Excel, je te renvoie le fichier, j'ai peut-être fait une bourde la première fois.
A te lire, très cordialement à toi
--https://www.cjoint.com/c/EIDkdPgo6Z4
aulane
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
30 sept. 2015 à 11:12
30 sept. 2015 à 11:12
J'espère que cette fois sera la bonne
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
>
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
30 sept. 2015 à 12:02
30 sept. 2015 à 12:02
Bonjour Aulane
Oui bien reçu, je regarde ça dès que possible, pas mal de boulot en e moment ! Ce ne sera surement pas avant la fin de la semaine
Dans le fichier que je t'ai envoyé :
- la feuille est protégée mais pas par un mot de passe, pour la déprotéger il suffit d'aller dans l'onglet Revision - Oter la protection de la feuille
- les macros ne sont pas dans un module mais l'une est associée à la feuille et l'autre et dans la procédure ThisWorkbook; quand tu ouvres l'éditeur VBA tu as une arborescence à gauche avec le nom des feuilles et ThisWorkbook à la fin; il suffit de double-cliquer sur la feuille ou sur ThisWorkbook pour afficher le code associé
Cdlmnt
Via
Oui bien reçu, je regarde ça dès que possible, pas mal de boulot en e moment ! Ce ne sera surement pas avant la fin de la semaine
Dans le fichier que je t'ai envoyé :
- la feuille est protégée mais pas par un mot de passe, pour la déprotéger il suffit d'aller dans l'onglet Revision - Oter la protection de la feuille
- les macros ne sont pas dans un module mais l'une est associée à la feuille et l'autre et dans la procédure ThisWorkbook; quand tu ouvres l'éditeur VBA tu as une arborescence à gauche avec le nom des feuilles et ThisWorkbook à la fin; il suffit de double-cliquer sur la feuille ou sur ThisWorkbook pour afficher le code associé
Cdlmnt
Via
aulane
>
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 oct. 2015 à 16:14
2 oct. 2015 à 16:14
Bonsoir via,
Je te renvoie mon fichier dans lequel j'ai fait des modifs importantes, comme par exemple mettre les totaux en tête de colonne (je l'avais fait pour les q.q. programmes que j'avais fait pour mon entreprise - devis entre autres- mais pour moi ce petit programme était plutôt statique donc pas à modifier) bref, pour en revenir à ... « mes moutons » je bute sur la formule qui permet de modifier le nombre de ligne du tableau des notes et q.q. petites questions.
1. Quelles fonctions utiliser pour créer cette formule
2. A quel endroit de la saisie par le préposé à la saisie des coordonnées patient ?
3. Je voudrais faire ressortir en rouge (par exemple) les chiffres pour résultats et dates par exemple la ligne V40 comporte
a. une date
b. une note
c. Un nombre de jours
d. Il me semble (de mémoire) qu'il faut juste avant l'indication de ligne ou d'une formule voir d'une fonction une instruction basic du genre en langage « clair » « mettre en rouge » : ou ;
Je suis un peu perdu, mais je pense que ce petit programme sur lequel je patauge lamentablement va me permettre de refaire surface.
J'en ai plein d'autres que j'avais abandonné à cause de mes problème de santé et à 80 ans on encaisse moins bien qu'à 20 (ça s'appelle enfoncer une porte ouverte !)
4. Dis-moi ce que tu penses de mes transformations.
5. J'ai remplis la grille des notes avec les miennes d'un autre fichier dont l'échelle est inversée (à la demande du toubib de l'époque) ça correspond à rien mais ça permet de voir si tout marche bien, tu peux sans crainte de perte allègrement les effacer
A part je crois ces petits problèmes je vais être prêt à régler la mise en oeuvre des protections et le remettre à mon toubib à ma prochaine hospitalisation, vers la fin du mois
Cordialement
aulane
http://www.cjoint.com/c/EJcomwCj4ME
Je te renvoie mon fichier dans lequel j'ai fait des modifs importantes, comme par exemple mettre les totaux en tête de colonne (je l'avais fait pour les q.q. programmes que j'avais fait pour mon entreprise - devis entre autres- mais pour moi ce petit programme était plutôt statique donc pas à modifier) bref, pour en revenir à ... « mes moutons » je bute sur la formule qui permet de modifier le nombre de ligne du tableau des notes et q.q. petites questions.
1. Quelles fonctions utiliser pour créer cette formule
2. A quel endroit de la saisie par le préposé à la saisie des coordonnées patient ?
3. Je voudrais faire ressortir en rouge (par exemple) les chiffres pour résultats et dates par exemple la ligne V40 comporte
a. une date
b. une note
c. Un nombre de jours
d. Il me semble (de mémoire) qu'il faut juste avant l'indication de ligne ou d'une formule voir d'une fonction une instruction basic du genre en langage « clair » « mettre en rouge » : ou ;
Je suis un peu perdu, mais je pense que ce petit programme sur lequel je patauge lamentablement va me permettre de refaire surface.
J'en ai plein d'autres que j'avais abandonné à cause de mes problème de santé et à 80 ans on encaisse moins bien qu'à 20 (ça s'appelle enfoncer une porte ouverte !)
4. Dis-moi ce que tu penses de mes transformations.
5. J'ai remplis la grille des notes avec les miennes d'un autre fichier dont l'échelle est inversée (à la demande du toubib de l'époque) ça correspond à rien mais ça permet de voir si tout marche bien, tu peux sans crainte de perte allègrement les effacer
A part je crois ces petits problèmes je vais être prêt à régler la mise en oeuvre des protections et le remettre à mon toubib à ma prochaine hospitalisation, vers la fin du mois
Cordialement
aulane
http://www.cjoint.com/c/EJcomwCj4ME
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
>
aulane
Modifié par via55 le 2/10/2015 à 18:46
Modifié par via55 le 2/10/2015 à 18:46
Bonjour Aulane
Tout d'abord je te tire mon chapeau, à 80 ans travailler sur Excel et sur un projet complexe !
Tes modifications sont pertinentes.
Pour que les lignes du tableau s'adaptent :
les 3 premières lignes sont fixes puisque cure mini 3 jours
En A18 mettre la formule :
=SI(NB($A$15:A17)<$H$9;A17+1;"") et l'étirer jusqu'au bas
En B18 mettre la formule :
=SI(A18<>"";B17+1;"") et l'étirer
Les formules de moyennes restent jusqu'en bas
Pour afficher le quadrillage que dans les lignes valables, sélectionner la plage A18:H44
Accueil -Mise en forme conditionnelle - Appliquer une formule .; et entrer la formule :
=$A18<>"" (bien respecter le $ devant la lettre et rien devant le nombre)
et choisir Format Bordure ..
Pour que le graphique s'adapte au nombre de lignes :
Dans l'arborescence de l'éditeur VBA double clic sur la feuille Modèle
Copier-coller la macro suivante et modifier ensuite le nom du graphique
.
Reste pour la protection à verrouiller toutes les cellules de la feuille (selection de l'ensemble de la feuille en haut à gauche des lettres de colonnes) Format de cellule Cocher verrouiller
Selectionner ensuite chaque cellule à remplir par l'utilisateur (B3:B6 ; F7; H8:H9 et C15:G44) Format et décocher verrouiller
Proteger la feuille Onglet Révision Protéger la feuille sans mettre de mot de passe
Enfin pour ce qui est de la mise en couleur d'une partie d'une phrase, c'est possible par macro à condition de connaitre l'emplacement et la longueur de la partie, sinon il y aurait la solution de tester caractère par caractère ceux qui sont numériques et de le changer de couleurs; lourd pour le résultat voulu !
Il te sera plus simple de décomposer la phrase (et la formule qui la compose) et la mettre dans plusieurs cellules à la suite, chaque nombre étant dans une cellule individuelle que tu mettras au format voulu (gras, rouge ....) qui sera facilement modifiable si nécessaire en plus
Ainsi en W40 =" noté "; en X40 =C2 , en Y40 =" le ", en Z40 =INDEX($A$14:$A44;EQUIV($C$13;$C$14:$C44;0);1) etc
Je n'ai pas fait les modifs directement sur ton fichier car il fait toujours bugger Excel chez moi! Je ne sais pas pourquoi
Bon courage,
Bien cordialement
Via
Tout d'abord je te tire mon chapeau, à 80 ans travailler sur Excel et sur un projet complexe !
Tes modifications sont pertinentes.
Pour que les lignes du tableau s'adaptent :
les 3 premières lignes sont fixes puisque cure mini 3 jours
En A18 mettre la formule :
=SI(NB($A$15:A17)<$H$9;A17+1;"") et l'étirer jusqu'au bas
En B18 mettre la formule :
=SI(A18<>"";B17+1;"") et l'étirer
Les formules de moyennes restent jusqu'en bas
Pour afficher le quadrillage que dans les lignes valables, sélectionner la plage A18:H44
Accueil -Mise en forme conditionnelle - Appliquer une formule .; et entrer la formule :
=$A18<>"" (bien respecter le $ devant la lettre et rien devant le nombre)
et choisir Format Bordure ..
Pour que le graphique s'adapte au nombre de lignes :
Dans l'arborescence de l'éditeur VBA double clic sur la feuille Modèle
Copier-coller la macro suivante et modifier ensuite le nom du graphique
.
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$H3" Then ActiveSheet.Unprotect 'Remplacer dans la ligne suivante Graphique 2 par le nom de ton graphique ActiveSheet.ChartObjects("Graphique 2").Activate ActiveChart.PlotArea.Select ActiveChart.SeriesCollection(1).Values = "='Feuil1'!$H$15:$H$" & Range("H9") + 14 ActiveSheet.Protect End If End Sub
Reste pour la protection à verrouiller toutes les cellules de la feuille (selection de l'ensemble de la feuille en haut à gauche des lettres de colonnes) Format de cellule Cocher verrouiller
Selectionner ensuite chaque cellule à remplir par l'utilisateur (B3:B6 ; F7; H8:H9 et C15:G44) Format et décocher verrouiller
Proteger la feuille Onglet Révision Protéger la feuille sans mettre de mot de passe
Enfin pour ce qui est de la mise en couleur d'une partie d'une phrase, c'est possible par macro à condition de connaitre l'emplacement et la longueur de la partie, sinon il y aurait la solution de tester caractère par caractère ceux qui sont numériques et de le changer de couleurs; lourd pour le résultat voulu !
Il te sera plus simple de décomposer la phrase (et la formule qui la compose) et la mettre dans plusieurs cellules à la suite, chaque nombre étant dans une cellule individuelle que tu mettras au format voulu (gras, rouge ....) qui sera facilement modifiable si nécessaire en plus
Ainsi en W40 =" noté "; en X40 =C2 , en Y40 =" le ", en Z40 =INDEX($A$14:$A44;EQUIV($C$13;$C$14:$C44;0);1) etc
Je n'ai pas fait les modifs directement sur ton fichier car il fait toujours bugger Excel chez moi! Je ne sais pas pourquoi
Bon courage,
Bien cordialement
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
4 oct. 2015 à 11:20
4 oct. 2015 à 11:20
Bonsoir via55,
Ton compliment me touche, mais si longtemps sans mettre le nez dans VBA laisse des vides difficiles à combler; j'ai tout à réapprendre... Bref!
Je repense au bug que provoque mon fichier sur ton PC, je travaille sur deux écrans, serait-ce cela qui provoque ce bug ?
J'ai bien rentré la formule =SI(NB($A$15:A17)<$H$9;A17+1;"") dans la cellule A18 4e jour (et l'ai étirée jusqu'à A44 bas de la colonne A!
Ok j'ai essayé, ça marche mais seulement sur cette colonne A, ce qui semble normal, il manque l'extension aux colonnes C, D, E, F, G, H ? et l'effacement de la grille du tableau
Mais où ça se corse, lorsque je rentre par glissement la formule =SI(A18<>"";B17+1;"") dans la cellule B4, ou par copier-coller ou au clavier. Dès que je l'ai étirée jusqu'à B44 (fin de la colonne B) ça a fait bugger Excel (Excel ne répons pas) et impossible d'en sortir sans fermer le fichier!
Tétu, j'ai refait la manip, mais cette fois seulement en cellule B4, ça a bugger au bout de q.q. secondes, (Excel ne répond pas), puis ça a marché, j'ai donc étiré jusqu'à B5 et ça a buggé aussi un peu plus longuement et c'est revenu, j'essaye ce matin (4/10) de recopier de B5 à B7 chronomètre en main après 7 minute, j'ai eu le malheur de positionner la souris sur la cellule B7 en plus de (ne répond pas) ça a « flouté » le fichier sur l'écran et toujours rien après 10 minutes ! J'ai cliqué sur la croix de fermeture, une fenêtre est apparue me donnait le choix entre 3 possibilités, j'ai cliqué sur « Redémarrer le fichier » et q.q. instants après le fichier s'est affiché : les cellules B4 et B5 contenaient bien la formule, mais elle avait disparu des cellules B6 et B7. Pourquoi ça bug ? je suis revenu à un format de date standard jj/mm/aa ça n'a rien changé, C'est quand même bizare, J'ai modifié la formule de la colonne date en remplaçant les guillemets SI(A18<>"";B17+1;"") par < 0 > zéro, même résultat !
Mais est-il vraiment indispensable modifier la colonne date (B)? et comment faire pour que les autres colonnes C, D, E, F, G, H. s'alignes sur la colonne A? en effaçant tous les cadres.
Je commence à avoir la tête comme un ballon sur-gonflé ! Je cherche une solution qui ne vient pas.
Cordialement
aulane
https://www.cjoint.com/c/EJejrmFnAx8
Ton compliment me touche, mais si longtemps sans mettre le nez dans VBA laisse des vides difficiles à combler; j'ai tout à réapprendre... Bref!
Je repense au bug que provoque mon fichier sur ton PC, je travaille sur deux écrans, serait-ce cela qui provoque ce bug ?
J'ai bien rentré la formule =SI(NB($A$15:A17)<$H$9;A17+1;"") dans la cellule A18 4e jour (et l'ai étirée jusqu'à A44 bas de la colonne A!
Ok j'ai essayé, ça marche mais seulement sur cette colonne A, ce qui semble normal, il manque l'extension aux colonnes C, D, E, F, G, H ? et l'effacement de la grille du tableau
Mais où ça se corse, lorsque je rentre par glissement la formule =SI(A18<>"";B17+1;"") dans la cellule B4, ou par copier-coller ou au clavier. Dès que je l'ai étirée jusqu'à B44 (fin de la colonne B) ça a fait bugger Excel (Excel ne répons pas) et impossible d'en sortir sans fermer le fichier!
Tétu, j'ai refait la manip, mais cette fois seulement en cellule B4, ça a bugger au bout de q.q. secondes, (Excel ne répond pas), puis ça a marché, j'ai donc étiré jusqu'à B5 et ça a buggé aussi un peu plus longuement et c'est revenu, j'essaye ce matin (4/10) de recopier de B5 à B7 chronomètre en main après 7 minute, j'ai eu le malheur de positionner la souris sur la cellule B7 en plus de (ne répond pas) ça a « flouté » le fichier sur l'écran et toujours rien après 10 minutes ! J'ai cliqué sur la croix de fermeture, une fenêtre est apparue me donnait le choix entre 3 possibilités, j'ai cliqué sur « Redémarrer le fichier » et q.q. instants après le fichier s'est affiché : les cellules B4 et B5 contenaient bien la formule, mais elle avait disparu des cellules B6 et B7. Pourquoi ça bug ? je suis revenu à un format de date standard jj/mm/aa ça n'a rien changé, C'est quand même bizare, J'ai modifié la formule de la colonne date en remplaçant les guillemets SI(A18<>"";B17+1;"") par < 0 > zéro, même résultat !
Mais est-il vraiment indispensable modifier la colonne date (B)? et comment faire pour que les autres colonnes C, D, E, F, G, H. s'alignes sur la colonne A? en effaçant tous les cadres.
Je commence à avoir la tête comme un ballon sur-gonflé ! Je cherche une solution qui ne vient pas.
Cordialement
aulane
https://www.cjoint.com/c/EJejrmFnAx8
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
4 oct. 2015 à 22:57
4 oct. 2015 à 22:57
Bonjour Aulane
Donc tu as le même bug que moi !
Bon on va procéder par étapes pour que tout fonctionne
Sur le fichier pour l'instant j'ai :
- laissé les formules d'incrémentation des dates jusqu'au 30° jour puisque les formules avec SI occasionnent le bug, j'ai remplacé ça par une mise en forme conditionnelle qui affichent en écriture noire et avec bordure marron des cellules que les lignes inférieures ou égales au nombre de jour. Par défaut il n'y a pas de bordures et une écriture blanche donc invisible. Le jours s'inscrivent bien jusqu'au 30eme mais seuls sont visibles ceux de la durée choisie en H9
- Mis la macro associée au Worksheet de la feuille qui lors de la modification de la durée en H9 ajuste la plage du graphique
Dis moi ce que tu en pense et on verra pour la suite
Malgré tout les temps de réponse sont longs dès qu'on entre une donnée. Dès que j'aurais un peu de temps j'essaie de refaire la même feuille sur un nouveau classeur sans macro au départ pour voir si on peut obtenir quelque chose sans ce désagrément peut être lié au fichier
http://www.cjoint.com/c/EJeu43iLepY
Cdlmnt
Via
Donc tu as le même bug que moi !
Bon on va procéder par étapes pour que tout fonctionne
Sur le fichier pour l'instant j'ai :
- laissé les formules d'incrémentation des dates jusqu'au 30° jour puisque les formules avec SI occasionnent le bug, j'ai remplacé ça par une mise en forme conditionnelle qui affichent en écriture noire et avec bordure marron des cellules que les lignes inférieures ou égales au nombre de jour. Par défaut il n'y a pas de bordures et une écriture blanche donc invisible. Le jours s'inscrivent bien jusqu'au 30eme mais seuls sont visibles ceux de la durée choisie en H9
- Mis la macro associée au Worksheet de la feuille qui lors de la modification de la durée en H9 ajuste la plage du graphique
Dis moi ce que tu en pense et on verra pour la suite
Malgré tout les temps de réponse sont longs dès qu'on entre une donnée. Dès que j'aurais un peu de temps j'essaie de refaire la même feuille sur un nouveau classeur sans macro au départ pour voir si on peut obtenir quelque chose sans ce désagrément peut être lié au fichier
http://www.cjoint.com/c/EJeu43iLepY
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
9 oct. 2015 à 12:06
9 oct. 2015 à 12:06
Bonjour via,
manifestement tu n'as pas reçu le dernier fichier que je t'ai envoyé hier 8/10/2015, dis moi si tu l'as reçu depuis, sinon je te le réexpédierai (en gros les anciens fichiers que je t'ai envoyé avaient un bug) que j'ai découvert presque par hasard. Donc j'ai refait (au clavier sans copie/coller) dans un classeur vierge un nouveau fichier avec les mêmes données (New Vial) que je cite plus haut et cette fois ça ne bug plus.je dirais même que ça gagne en vitesse dis moi si tu l'as
Cordialement
aulane
manifestement tu n'as pas reçu le dernier fichier que je t'ai envoyé hier 8/10/2015, dis moi si tu l'as reçu depuis, sinon je te le réexpédierai (en gros les anciens fichiers que je t'ai envoyé avaient un bug) que j'ai découvert presque par hasard. Donc j'ai refait (au clavier sans copie/coller) dans un classeur vierge un nouveau fichier avec les mêmes données (New Vial) que je cite plus haut et cette fois ça ne bug plus.je dirais même que ça gagne en vitesse dis moi si tu l'as
Cordialement
aulane
Bonjour via,
j'ai retrouvé ton mail du 29/9 par hasard, il a du arriver pendant que j'étais à l'hôpital, et quand je suis revenu je n'avais pas les idées très clair. Bref de mon coté, j'ai assayé de pondre q.q. chose, je te le passe ci-dessous (je
lundi 5 octobre 2015
Bonjour via55,
Je viens d'avoir une idée pour supprimer ou réinstaller le quadrillage de mon tableau avec une instruction macro du genre : (on sur le modèle des 10 jours de cure en utilisant le modèle de formule saisie dans la cellule < A18 >) colle bêtement ce que j'ai préparé sur Word
Je mélange formule Excel et macro
D'abord la formule toujours en considérant nos 10 jours de cure, mais où la placer ?
SI(ND($A$15:A17)<$H$9;A17+1;'''') Cette fonction supprime les jours au-delà du 10 donc à partir du 11e jour jusqu'au 30e jour c'est-à-dire de A24 à A43 et c'est là qu'il là de devrait intervenir la macro
Macro1
Sub Effacequadrillage() `suppression du quadrillage du tableau de A24 à H43
Range (`'A24 :H43'').Select ` `A24 pourrait être remplacé par H9 + A14 (1er jour de
`Cure et dans tous les cas H43 resterait H43
Selection.Borders(xlDiagonalDown.LineStyle = xlNone `ligne basse interieure du tableau ?
Selection.Borders(xlDiagonalUp.LineStyle = xlNone `Ligne haute intérieure du tablea ?
Selection.Borders(xEdgeLeft.LineStyle = xlNone `ligne coté gauche du tableau ?
Selection.Borders(xEdgeTop.LineStyle = xlNone `ligne du dessus du tableau ?
Selection.Borders(xEdgeBottom.LineStyle = xlNone `ligne du bas du tableau ?
Selection.Borders(xEdgeRight.LineStyle = xlNone `ligne coté droit du tableau ?
End Sub
Macro2
Pour restaurer le quadrillage du tableau, pourrait-on faire lla même liste mais au lieu de xlNone
Peut être mettre une fonction qui restaurerait (None, c'est aucun il faut trouver son contraire
Que penses-tu de tout ça ? Et on pourrait appeler ce 2 macros dans une même instruction < SI >
Du genre SI(SI(ND($A$15:A17)<$H$9;Macro1 ;Macro2 à créer)
Cordialement
Aulane
j'ai retrouvé ton mail du 29/9 par hasard, il a du arriver pendant que j'étais à l'hôpital, et quand je suis revenu je n'avais pas les idées très clair. Bref de mon coté, j'ai assayé de pondre q.q. chose, je te le passe ci-dessous (je
lundi 5 octobre 2015
Bonjour via55,
Je viens d'avoir une idée pour supprimer ou réinstaller le quadrillage de mon tableau avec une instruction macro du genre : (on sur le modèle des 10 jours de cure en utilisant le modèle de formule saisie dans la cellule < A18 >) colle bêtement ce que j'ai préparé sur Word
Je mélange formule Excel et macro
D'abord la formule toujours en considérant nos 10 jours de cure, mais où la placer ?
SI(ND($A$15:A17)<$H$9;A17+1;'''') Cette fonction supprime les jours au-delà du 10 donc à partir du 11e jour jusqu'au 30e jour c'est-à-dire de A24 à A43 et c'est là qu'il là de devrait intervenir la macro
Macro1
Sub Effacequadrillage() `suppression du quadrillage du tableau de A24 à H43
Range (`'A24 :H43'').Select ` `A24 pourrait être remplacé par H9 + A14 (1er jour de
`Cure et dans tous les cas H43 resterait H43
Selection.Borders(xlDiagonalDown.LineStyle = xlNone `ligne basse interieure du tableau ?
Selection.Borders(xlDiagonalUp.LineStyle = xlNone `Ligne haute intérieure du tablea ?
Selection.Borders(xEdgeLeft.LineStyle = xlNone `ligne coté gauche du tableau ?
Selection.Borders(xEdgeTop.LineStyle = xlNone `ligne du dessus du tableau ?
Selection.Borders(xEdgeBottom.LineStyle = xlNone `ligne du bas du tableau ?
Selection.Borders(xEdgeRight.LineStyle = xlNone `ligne coté droit du tableau ?
End Sub
Macro2
Pour restaurer le quadrillage du tableau, pourrait-on faire lla même liste mais au lieu de xlNone
Peut être mettre une fonction qui restaurerait (None, c'est aucun il faut trouver son contraire
Que penses-tu de tout ça ? Et on pourrait appeler ce 2 macros dans une même instruction < SI >
Du genre SI(SI(ND($A$15:A17)<$H$9;Macro1 ;Macro2 à créer)
Cordialement
Aulane
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
Modifié par via55 le 6/10/2015 à 13:40
Modifié par via55 le 6/10/2015 à 13:40
Bonjour Aulane,
1) Pourquoi vouloir faire le quadrillage par macro alors que la mise en forme conditionnelle comme dans mon dernier fichier envoyé (message n° 20) le fait très bien (Par défaut il n'y a pas de quadrillage et écriture blanche dans les cellules du tableau à partir du 4° jour (puisque au minimum le tableau comportera 3 jours) et la mise en forme conditionnelle met en écriture noire avec quadrillage marron lorsqu'il y a une valeur numérique en colonne A)
2) On ne peut pas lancer une macro à partir d'une formule; c'est un événement sur la feuille qui peut la déclencher (changement de ligne, changement d'une valeur dans une cellule précise comme H9, double-clic ...)
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
1) Pourquoi vouloir faire le quadrillage par macro alors que la mise en forme conditionnelle comme dans mon dernier fichier envoyé (message n° 20) le fait très bien (Par défaut il n'y a pas de quadrillage et écriture blanche dans les cellules du tableau à partir du 4° jour (puisque au minimum le tableau comportera 3 jours) et la mise en forme conditionnelle met en écriture noire avec quadrillage marron lorsqu'il y a une valeur numérique en colonne A)
2) On ne peut pas lancer une macro à partir d'une formule; c'est un événement sur la feuille qui peut la déclencher (changement de ligne, changement d'une valeur dans une cellule précise comme H9, double-clic ...)
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
9 oct. 2015 à 12:16
9 oct. 2015 à 12:16
Manifestement tu n'as pas reçu le mail que j'ai envoyé hier 9/10/15 j'ai du me mélanger les pinceaux, comme j'en ai gardé la trce dans Word je te le renvoie tel quel.
8 octobre 2015
Fichier new Vial
Bonjour via55,
Je crois savoir pourquoi mon fichier fait bugger ton micro, je pense qu'il bug lorsque tu veux entrer la formule dans la colonne date et surtout lorque tu veux l'étirer vers le bas (c'est ce qui m'est arrivé) ! Explication :
Tout à fait par hasard j'ai découvert dans cette colonne date un petit espace (Type zone de texte) sous le jour des dates et il est ineffaçable, aidé par mon informaticien, on a bataillé plus d'un quart d'heure, pas moyen de l'éliminer.( Si tu peux charger le fichier que je t'ai envoyé depuis le début, tu pourras contrôler ce que je te dis). Donc et c'est pour ça que je te réponds si tardivement, j'ai refais intégralement le fichier dans un classeur vierge (au clavier et sans copie/coller) j'en ai profité pour rallonger la durée à 31 jours maxi, c'est plus logique et là, tout s'est bien passé. Je vais passer tous les autres à la moulinette, je ne m'en étais pas rendu du fait que le fichier dont je suis parti pour moi, n'avait pas d'automatismes particuliers et je l'utilisais uniquement comme tableau de contrôle de la dextérité de ma main droite et je n'avais pas de souci de longueur du traitement qui était fixe à 5 semaines.
De toute façon, je t'envoie le nouveau fichier que j'ai appelé « New Vial » je n'ai pas rentré toutes les formules que tu m'as envoy ées, je voulais te l'envoyer le plus rapidement (il n'est pas protégé)
Cordialement
aulane
https://www.cjoint.com/c/EJinZbblA52
8 octobre 2015
Fichier new Vial
Bonjour via55,
Je crois savoir pourquoi mon fichier fait bugger ton micro, je pense qu'il bug lorsque tu veux entrer la formule dans la colonne date et surtout lorque tu veux l'étirer vers le bas (c'est ce qui m'est arrivé) ! Explication :
Tout à fait par hasard j'ai découvert dans cette colonne date un petit espace (Type zone de texte) sous le jour des dates et il est ineffaçable, aidé par mon informaticien, on a bataillé plus d'un quart d'heure, pas moyen de l'éliminer.( Si tu peux charger le fichier que je t'ai envoyé depuis le début, tu pourras contrôler ce que je te dis). Donc et c'est pour ça que je te réponds si tardivement, j'ai refais intégralement le fichier dans un classeur vierge (au clavier et sans copie/coller) j'en ai profité pour rallonger la durée à 31 jours maxi, c'est plus logique et là, tout s'est bien passé. Je vais passer tous les autres à la moulinette, je ne m'en étais pas rendu du fait que le fichier dont je suis parti pour moi, n'avait pas d'automatismes particuliers et je l'utilisais uniquement comme tableau de contrôle de la dextérité de ma main droite et je n'avais pas de souci de longueur du traitement qui était fixe à 5 semaines.
De toute façon, je t'envoie le nouveau fichier que j'ai appelé « New Vial » je n'ai pas rentré toutes les formules que tu m'as envoy ées, je voulais te l'envoyer le plus rapidement (il n'est pas protégé)
Cordialement
aulane
https://www.cjoint.com/c/EJinZbblA52
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
9 oct. 2015 à 12:18
9 oct. 2015 à 12:18
J'ai un peu modifié le texte initial et corrigé q.q. fautes.
cordialement aulane
cordialement aulane
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
>
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
9 oct. 2015 à 17:05
9 oct. 2015 à 17:05
Bonjour Aulane
Ok je vais essayer de regarder ça ce week-end
Je te tiens au courant
Cdlmnt
Via
Ok je vais essayer de regarder ça ce week-end
Je te tiens au courant
Cdlmnt
Via
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
>
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
Modifié par via55 le 10/10/2015 à 02:20
Modifié par via55 le 10/10/2015 à 02:20
Re,
Ah ça va mieux, plus de bug !
Sur ton fichier j'ai :
- protégé les cellules et la feuille,
- mis la mise en forme conditionnelle qui fait afficher les bordures et le texte en écriture noire (par défaut pas de bordures et texte en blanc dans les lignes 18 à 45 du tableau),
- mis la macro qui au changement du nombre de jours :
- efface le tableau
- déverrouille les cellules des lignes nécessaires et verrouille les autres
- adapte le graphique aux données
http://www.cjoint.com/c/EJjx5vXjCP3
Il reste à voir l'enregistrement du classeur sous un autre nom, 2 possibilités :
- soit comme dans le 1er exemple que je t'avais envoyé une macro dans This workbooK enregistre le fichier sous nom-prénom du patient lors de sa fermeture,
- soit à l'ouverture du classeur Modèle une macro demande les noms et prénom du patient, les inscrit sur la feuille en bonne place et enregistre le classeur sous le nouveau nom composé toujours des nom-prénom.
A toi de voir ce qui te semble le plus pertinent
Mais question peut-il y avoir plusieurs fichiers pour le même patient ?
En ce cas il faudrait compléter le nom avec la date du jour de l'enregistrement pour individualiser les fichiers
Cdlmnt
Via
Ah ça va mieux, plus de bug !
Sur ton fichier j'ai :
- protégé les cellules et la feuille,
- mis la mise en forme conditionnelle qui fait afficher les bordures et le texte en écriture noire (par défaut pas de bordures et texte en blanc dans les lignes 18 à 45 du tableau),
- mis la macro qui au changement du nombre de jours :
- efface le tableau
- déverrouille les cellules des lignes nécessaires et verrouille les autres
- adapte le graphique aux données
http://www.cjoint.com/c/EJjx5vXjCP3
Il reste à voir l'enregistrement du classeur sous un autre nom, 2 possibilités :
- soit comme dans le 1er exemple que je t'avais envoyé une macro dans This workbooK enregistre le fichier sous nom-prénom du patient lors de sa fermeture,
- soit à l'ouverture du classeur Modèle une macro demande les noms et prénom du patient, les inscrit sur la feuille en bonne place et enregistre le classeur sous le nouveau nom composé toujours des nom-prénom.
A toi de voir ce qui te semble le plus pertinent
Mais question peut-il y avoir plusieurs fichiers pour le même patient ?
En ce cas il faudrait compléter le nom avec la date du jour de l'enregistrement pour individualiser les fichiers
Cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
10 oct. 2015 à 13:23
10 oct. 2015 à 13:23
10/10/2015
Bonjour via
Bien reçu et bien content que ce soit cette satanée zone intempestive qui nous créait nos bugs, je vais supprimer tous ces fichiers sauf 1 dans lequel je vais essayer de trouver d'où vient cette zone.
Merci pour tout, mais je vais encore abuser de ton aide et pour ça, je vais procéder par ordre :
1. Il faut que je comprenne et que j'assimile toutes les données, les formules et macros que tu m'as ajoutés au fichier, car je ne peux pas me permettre de rester bouche baie si mon toubib me demande des explications, même rudimentaires (ce serait malhonnête !) en plus, il risque de me demander des modifs ...
2. Comme la dernière fois, je suppose (je n'ai pas essayé encore) que tu n'as pas nommé de mot de passe et qu'il doit suffire de déverrouiller la feuille entièrement par :
Révision/Modification/Oter la protection. je pense savoir refaire cette protection, je l'ai fait déjà plusieurs fois peut être un peu moins compliquée
3. Forme conditionnelle voilà pour moi un peu la bouteille à l'encre, je patauge toujours dès que j'envisage de mettre des cellules en forme. Pourrais-tu me faire un petit schéma du processus et surtout quelle fonctions utiliser notamment :
a. Pour l'affichage ou l'effacement des bordures et des textes des lignes 18 à 45
4. Idem pour les macros (je ne les ai pas trouvées pourquoi ?) lors du changement de jours :
a. Effacement du tableau et reconstitution des bordures
b. Je suppose que c'est la même qui contient aussi le déverrouillage des lignes nécessaires et verrouille les autres
c. Celle qui adapte le graphique à chaque modification des données du tableau
5. En ce qui concerne l'enregistrement du classeur, la deuxième solution me semble la plus adéquate, elle oblige l'utilisateur à nommer son patient et par la même de libérer le fichier modèle, par contre il me semble que le N° de sécu ou de comptage automatique et itératif... seraient un bon remède pour éviter les confusions ! qu'en penses-tu ?
6. Certes il risque bien d'y avoir plusieurs fichiers par patient, ou faire comme pour mon cas personnel, mettre le premier fichier dans la feuille 1 du classeur, le deuxième feuille 2, etc. mais alors il faudrait peut-être enregistrer le fichier modèle dans le dossier modèle de Micosoft, auquel cas, il faudrait au départ créer un dossier automatiquement s'il est inexistant (en posant la question du nom à lui donner) dans lequel seraient enregistrés tous les patients systématiquement sans doublons (par exemple un dossier < CRITÈRES >)
Voilà ce que m'inspire ce fichier, je te dois déjà beaucoup et je veux par cette occasion me créer un lexique sous forme de tableau intitulé < Pourquoi faire > dans lequel j'inscrirais ce que je veux faire et en vis-à-vis je noterais les instructions nécessaires pour obtenir les résultats dans ce cas présent
Très cordialement
aulane
Bonjour via
Bien reçu et bien content que ce soit cette satanée zone intempestive qui nous créait nos bugs, je vais supprimer tous ces fichiers sauf 1 dans lequel je vais essayer de trouver d'où vient cette zone.
Merci pour tout, mais je vais encore abuser de ton aide et pour ça, je vais procéder par ordre :
1. Il faut que je comprenne et que j'assimile toutes les données, les formules et macros que tu m'as ajoutés au fichier, car je ne peux pas me permettre de rester bouche baie si mon toubib me demande des explications, même rudimentaires (ce serait malhonnête !) en plus, il risque de me demander des modifs ...
2. Comme la dernière fois, je suppose (je n'ai pas essayé encore) que tu n'as pas nommé de mot de passe et qu'il doit suffire de déverrouiller la feuille entièrement par :
Révision/Modification/Oter la protection. je pense savoir refaire cette protection, je l'ai fait déjà plusieurs fois peut être un peu moins compliquée
3. Forme conditionnelle voilà pour moi un peu la bouteille à l'encre, je patauge toujours dès que j'envisage de mettre des cellules en forme. Pourrais-tu me faire un petit schéma du processus et surtout quelle fonctions utiliser notamment :
a. Pour l'affichage ou l'effacement des bordures et des textes des lignes 18 à 45
4. Idem pour les macros (je ne les ai pas trouvées pourquoi ?) lors du changement de jours :
a. Effacement du tableau et reconstitution des bordures
b. Je suppose que c'est la même qui contient aussi le déverrouillage des lignes nécessaires et verrouille les autres
c. Celle qui adapte le graphique à chaque modification des données du tableau
5. En ce qui concerne l'enregistrement du classeur, la deuxième solution me semble la plus adéquate, elle oblige l'utilisateur à nommer son patient et par la même de libérer le fichier modèle, par contre il me semble que le N° de sécu ou de comptage automatique et itératif... seraient un bon remède pour éviter les confusions ! qu'en penses-tu ?
6. Certes il risque bien d'y avoir plusieurs fichiers par patient, ou faire comme pour mon cas personnel, mettre le premier fichier dans la feuille 1 du classeur, le deuxième feuille 2, etc. mais alors il faudrait peut-être enregistrer le fichier modèle dans le dossier modèle de Micosoft, auquel cas, il faudrait au départ créer un dossier automatiquement s'il est inexistant (en posant la question du nom à lui donner) dans lequel seraient enregistrés tous les patients systématiquement sans doublons (par exemple un dossier < CRITÈRES >)
Voilà ce que m'inspire ce fichier, je te dois déjà beaucoup et je veux par cette occasion me créer un lexique sous forme de tableau intitulé < Pourquoi faire > dans lequel j'inscrirais ce que je veux faire et en vis-à-vis je noterais les instructions nécessaires pour obtenir les résultats dans ce cas présent
Très cordialement
aulane
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
10 oct. 2015 à 19:14
10 oct. 2015 à 19:14
Bonjour Aulane
Procédons par ordre comme tu dis :
Tout d'abord oui pas de mot de passe, je pense que c'est inutile ici, la protection empêche d'écrire dans une cellule non autorisée mais on peut déprotéger la feuille (selon la méthode que tu indiquais) si on veut modifier une police ou une couleur. Sans le rsique d'être bloqué en cas d'oubli du mot de passe !
1) Pour l'affichage des bordures et de l'écriture :
a) par défaut la plage A15:G45 n'a pas de bordure et est en format écriture blanche donc "invisible"
b) Pour l'affichage des bordures et du texte cela se fait par mise en forme conditionnelle (Sélection de la plage puis Onglet Accueil Mise en Forme conditionnelle Nouvelle règle Appliquer une formule et j'ai entré la formule =$A18<=$H$9 avant de choisir le format de bordure et l'écriture noire
le $ bloque la colonne A comme référence, donc tant que le nombre en A15, A16 etc est <= au nombre de jours entré en H9 la mise en forme s'applique)
Pour accéder à cette MFC sélectionne la plage A15:G45 puis Accueil Mise en forme conditionnelle Gérer les règles
2) Pour l'effacement des lignes du tableau, le déverrouillage des cellules des lignes utiles et le verrouillage des cellules des lignes superflues cela est géré par la macro
3) La macro n'est pas dans un module puisqu'elle est attachée à un événement de feuille (Private Sub Worksheet_Change)
Pour accéder à la macro quand tu as ouvert l'éditeur VBA (avec ALT+F11) il suffit de double-cliquer sur la feuille Modèle dans l'arborescence à gauche
J'ai mis des commentaires dans la macro qui expliquent ce que fait chaque ligne d'instruction
La macro gère aussi le graphique en spécifiant :
- la plage du graphique (ActiveChart.SetSourceData Source:)
- la plage des valeurs de la série 1 (ActiveChart.SeriesCollection(1).Values )
- la cellule du nom de la série 1 (ActiveChart.SeriesCollection(1).Name)
4) En ce qui concerne l'enregistrement :
OK pour la 2nde formule
a) le n° de SS est un bon moyen pour individualiser (et plus facile qu'une incrémentation auto), je ne l'avais pas proposé car tu l'as mis en facultatif dans la feuille
Mais si on le rend obligatoire on peut l'utiliser (et même que les 7 premiers chiffres cela sera suffisant ?) Penser à mettre la cellule F4 au Format personnalisé n° de SS qui permet de rentrer les chiffres à la suite et Excel met les espaces au bon endroit)
b) Il faut mieux regrouper les traitements successif d'un même patient dans le même fichier avec un par feuille
Cela nécessite :
1° Que le fichier Modèle qu'on pourrait appeler Nouveau suivi, ait la feuille modèle masquée
2° à l'ouverture du fichier :
La macro remplit les cellules avec ces données et enregistre le classeur avec comme nouveau nom : nom_prenom_7premiers chiffres du n° SS
si on choisit de créer une nouvelle feuille la macro copie la feuille modèle masquée et la nomme suivi 2, suivi 3 etc
Pas besoin d'enregistrer le fichier modèle dans le dossier modèle, il suffit qu'il soit quelque part dans un dossier ou sous-dossier, les fichiers patients seront automatiquement enregistrés dans le même dossier ou sous-dossier
Si ça te convient je me penche sur la question
Bien cdlmnt
Via
Procédons par ordre comme tu dis :
Tout d'abord oui pas de mot de passe, je pense que c'est inutile ici, la protection empêche d'écrire dans une cellule non autorisée mais on peut déprotéger la feuille (selon la méthode que tu indiquais) si on veut modifier une police ou une couleur. Sans le rsique d'être bloqué en cas d'oubli du mot de passe !
1) Pour l'affichage des bordures et de l'écriture :
a) par défaut la plage A15:G45 n'a pas de bordure et est en format écriture blanche donc "invisible"
b) Pour l'affichage des bordures et du texte cela se fait par mise en forme conditionnelle (Sélection de la plage puis Onglet Accueil Mise en Forme conditionnelle Nouvelle règle Appliquer une formule et j'ai entré la formule =$A18<=$H$9 avant de choisir le format de bordure et l'écriture noire
le $ bloque la colonne A comme référence, donc tant que le nombre en A15, A16 etc est <= au nombre de jours entré en H9 la mise en forme s'applique)
Pour accéder à cette MFC sélectionne la plage A15:G45 puis Accueil Mise en forme conditionnelle Gérer les règles
2) Pour l'effacement des lignes du tableau, le déverrouillage des cellules des lignes utiles et le verrouillage des cellules des lignes superflues cela est géré par la macro
3) La macro n'est pas dans un module puisqu'elle est attachée à un événement de feuille (Private Sub Worksheet_Change)
Pour accéder à la macro quand tu as ouvert l'éditeur VBA (avec ALT+F11) il suffit de double-cliquer sur la feuille Modèle dans l'arborescence à gauche
J'ai mis des commentaires dans la macro qui expliquent ce que fait chaque ligne d'instruction
La macro gère aussi le graphique en spécifiant :
- la plage du graphique (ActiveChart.SetSourceData Source:)
- la plage des valeurs de la série 1 (ActiveChart.SeriesCollection(1).Values )
- la cellule du nom de la série 1 (ActiveChart.SeriesCollection(1).Name)
4) En ce qui concerne l'enregistrement :
OK pour la 2nde formule
a) le n° de SS est un bon moyen pour individualiser (et plus facile qu'une incrémentation auto), je ne l'avais pas proposé car tu l'as mis en facultatif dans la feuille
Mais si on le rend obligatoire on peut l'utiliser (et même que les 7 premiers chiffres cela sera suffisant ?) Penser à mettre la cellule F4 au Format personnalisé n° de SS qui permet de rentrer les chiffres à la suite et Excel met les espaces au bon endroit)
b) Il faut mieux regrouper les traitements successif d'un même patient dans le même fichier avec un par feuille
Cela nécessite :
1° Que le fichier Modèle qu'on pourrait appeler Nouveau suivi, ait la feuille modèle masquée
2° à l'ouverture du fichier :
- si c'est le fichier modèle une macro copie la feuille modèle masquée et la renomme suivi 1 puis par userform demande les nom, prenom, âge et n° SS
La macro remplit les cellules avec ces données et enregistre le classeur avec comme nouveau nom : nom_prenom_7premiers chiffres du n° SS
- si c'est un fichier patient (nom différent que celui du fichier modèle) un userform demande si on veut simplement consulter le fichier ou créer une nouvelle feuille
si on choisit de créer une nouvelle feuille la macro copie la feuille modèle masquée et la nomme suivi 2, suivi 3 etc
Pas besoin d'enregistrer le fichier modèle dans le dossier modèle, il suffit qu'il soit quelque part dans un dossier ou sous-dossier, les fichiers patients seront automatiquement enregistrés dans le même dossier ou sous-dossier
Si ça te convient je me penche sur la question
Bien cdlmnt
Via
Aulane
Messages postés
84
Date d'inscription
mardi 27 janvier 2009
Statut
Membre
Dernière intervention
29 juillet 2017
11 oct. 2015 à 11:41
11 oct. 2015 à 11:41
11/10/2015
Bonjour via,
Je lis et relis ton dernier mail, même dans mes rêves les plus fous, je n'avais pas imaginé un tel degré de « sophistication », mais voilà ma curiosité naturelle veut que je comprenne les moyens employés (Fonctions, formules, macros...) je pense que tu as du utiliser la plupart des formules qui émaillent notre correspondance, je vais donc reprendre tous les courriers que nous avons échangé et les consigner dans un fichier spécial (avec les aides correspondantes que tu y as incorporées)
1. Pour l'affichage des bordures et de l'écriture :
a. Tu me dis que par défaut la plage A15 :G45 n'a pas de bordure et écriture blanche ! Comment obtiens-tu ce format ? Tu vas surement penser que je suis une cruche...
b. Pour les mises en forme conditionnelle, j'ai affiché la règle de format pour les cellules A15 :G45 et force m'est de constater mon « ignorance » à quoi se rapporte et/ou qu'indique le format AaBbCcYyZz (en fait comment ça marche ?) Çà ça m'intéresse au plus haut point entre autres !
2. Pour l'effacement des lignes du tableau j'ai vu la macro qui gère tout ça, comment est-elle activée et à quel moment ? je l'ai regardée, j'ai presque tout compris ! (je connaissais par coeur une foultitude de commandes basic, j'espère qu'en me replongeant dedans, ça pourrait peut-être revenir...)
3. Il n'y a que la gestion du graphique, mais je crois que en y réfléchissant je vais comprendre je dois me replonger à fond dans VBA (tu as réveillé en moi, une passion que je croyais éteinte)
4. Pour la compréhension de l'utilisateur, il me semble qu'à l'appel du programme, le fichier modèle pourrait apparaître simultanément avec en surimpression une fenêtre userform dans laquelle pourrait être entré le nom/prénom/N° SS et voir même la pathologie (plus facile peut être pour reprendre les éléments essentiels en cas de suivi).
la sortie de l'userform enclencherait le processus d'enregistrment pour un nouveau patient, ou d'un suivi mais il serait peut être judicieux de rajouter dans l'userform une case à cocher ou un bouton radio indiquant s'il s'agit d'un nouveau patient ou d'un « suivi »...
5. Il y a une chose que je n'ai pas bien compris, c'est la position masquée du fichier modèle ? Eclaire moi SVP
Un peu long comme d'habitude, mais j'ai tellement besoin de lumière
Bonjour via,
Je lis et relis ton dernier mail, même dans mes rêves les plus fous, je n'avais pas imaginé un tel degré de « sophistication », mais voilà ma curiosité naturelle veut que je comprenne les moyens employés (Fonctions, formules, macros...) je pense que tu as du utiliser la plupart des formules qui émaillent notre correspondance, je vais donc reprendre tous les courriers que nous avons échangé et les consigner dans un fichier spécial (avec les aides correspondantes que tu y as incorporées)
1. Pour l'affichage des bordures et de l'écriture :
a. Tu me dis que par défaut la plage A15 :G45 n'a pas de bordure et écriture blanche ! Comment obtiens-tu ce format ? Tu vas surement penser que je suis une cruche...
b. Pour les mises en forme conditionnelle, j'ai affiché la règle de format pour les cellules A15 :G45 et force m'est de constater mon « ignorance » à quoi se rapporte et/ou qu'indique le format AaBbCcYyZz (en fait comment ça marche ?) Çà ça m'intéresse au plus haut point entre autres !
2. Pour l'effacement des lignes du tableau j'ai vu la macro qui gère tout ça, comment est-elle activée et à quel moment ? je l'ai regardée, j'ai presque tout compris ! (je connaissais par coeur une foultitude de commandes basic, j'espère qu'en me replongeant dedans, ça pourrait peut-être revenir...)
3. Il n'y a que la gestion du graphique, mais je crois que en y réfléchissant je vais comprendre je dois me replonger à fond dans VBA (tu as réveillé en moi, une passion que je croyais éteinte)
4. Pour la compréhension de l'utilisateur, il me semble qu'à l'appel du programme, le fichier modèle pourrait apparaître simultanément avec en surimpression une fenêtre userform dans laquelle pourrait être entré le nom/prénom/N° SS et voir même la pathologie (plus facile peut être pour reprendre les éléments essentiels en cas de suivi).
la sortie de l'userform enclencherait le processus d'enregistrment pour un nouveau patient, ou d'un suivi mais il serait peut être judicieux de rajouter dans l'userform une case à cocher ou un bouton radio indiquant s'il s'agit d'un nouveau patient ou d'un « suivi »...
5. Il y a une chose que je n'ai pas bien compris, c'est la position masquée du fichier modèle ? Eclaire moi SVP
Un peu long comme d'habitude, mais j'ai tellement besoin de lumière
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
Modifié par via55 le 11/10/2015 à 15:12
Modifié par via55 le 11/10/2015 à 15:12
Bonjour Aulane
1) Pour le format "par défaut" il est mis manuellement sur la plage A15:G45 à partir des options de police de l'onglet Accueil , ainsi c'est celui qui est appliqué pour toutes les cellules ne correspondant pas au critère de la MFC
2) AaBbCcYyZz n'est pas un format c'est simplement l'exemple que met Excel pour montrer le résultat du format d'écriture choisi dans la MFC, ici écriture noire, sans gras ni italique,etc , le format du fond (ici blanc), le format des bordures (ici bordure bordeaux)
Quand tu as fait afficher la règle fais l'essai de cliquer sur le bouton Modifier la règle, tu verras toutes les options de choix de Format
3) Pour l'effacement du tableau et le reste la macro découle d'une procédure automatique d'Excel qui se déclenche lors d'un événement de feuille (objet Worksheet)
Les évènements qu'Excel reconnait sont par exemple l'activation d'une feuille,
le double-clic dans une feuille, un changement de sélection dans la feuille, la modification d'une cellule dans la feuille .... C'est cette dernière qui est utilisée
Quand la macro est affichée dans l'editeur VBA et que tu cliques sur une ligne, en haut de la page s'affiche l'objet : Worksheet et à côté la procédure : Change
Tu peux faire apparaitre la liste des procédures en cliquant sur le petit triangle.
Précision, comme la procédure change s'applique à toutes les cellules de la feuille il faut cibler les cellules qui feront appliquer la macro (sinon bien elle se déclencherait à chaque modification n'importe où !) d'où la 1ere ligne
If Target.Address <> "$H$9" Then Exit Sub
qui fait sortir de la Sub sans effectuer le reste de la macro si l'adresse de la cellule modifiée n'est pas H9
4) Je termine dès que possible un exemple avec l'userform, j'ai commencé mais je n'avais pas mis la pathologie, je la rajoute
5) Dans ton classeur Excel tu peux afficher ou masquer non seulement des lignes ou des colonnes mais aussi des feuilles (Clic droit sur l'onglet avec nom de la feuille et Masquer puis opération inverse Clic droit sur un autre onglet et Afficher pour choisir les feuilles à démasquer)
Le principe en cachant le modèle étant bien sûr de le garder intact car à la protection de la feuille on va ajouter une protection du classeur (Onglet Révision - Protéger le classeur - et on coche Protéger la structure et les fenêtres) mais avec un mot de passe cette fois
Une fois cette protection activée on ne peux plus masquer ou démasquer des feuilles, ni supprimer ou ajouter de feuille... (lorsqu'on fait clic droit sur un Onglet ces options sont grisées et inaccessibles)
Voilà, en espérant avoir répondu à toutes tes questions
Je te transmet le fichier dès que possible, je m'absente cet après midi mais je pense que ce soir ce sera bon
Bien cordialement
Via
"L'imagination est plus importante que le savoir." A. Einstein
1) Pour le format "par défaut" il est mis manuellement sur la plage A15:G45 à partir des options de police de l'onglet Accueil , ainsi c'est celui qui est appliqué pour toutes les cellules ne correspondant pas au critère de la MFC
2) AaBbCcYyZz n'est pas un format c'est simplement l'exemple que met Excel pour montrer le résultat du format d'écriture choisi dans la MFC, ici écriture noire, sans gras ni italique,etc , le format du fond (ici blanc), le format des bordures (ici bordure bordeaux)
Quand tu as fait afficher la règle fais l'essai de cliquer sur le bouton Modifier la règle, tu verras toutes les options de choix de Format
3) Pour l'effacement du tableau et le reste la macro découle d'une procédure automatique d'Excel qui se déclenche lors d'un événement de feuille (objet Worksheet)
Les évènements qu'Excel reconnait sont par exemple l'activation d'une feuille,
le double-clic dans une feuille, un changement de sélection dans la feuille, la modification d'une cellule dans la feuille .... C'est cette dernière qui est utilisée
Quand la macro est affichée dans l'editeur VBA et que tu cliques sur une ligne, en haut de la page s'affiche l'objet : Worksheet et à côté la procédure : Change
Tu peux faire apparaitre la liste des procédures en cliquant sur le petit triangle.
Précision, comme la procédure change s'applique à toutes les cellules de la feuille il faut cibler les cellules qui feront appliquer la macro (sinon bien elle se déclencherait à chaque modification n'importe où !) d'où la 1ere ligne
If Target.Address <> "$H$9" Then Exit Sub
qui fait sortir de la Sub sans effectuer le reste de la macro si l'adresse de la cellule modifiée n'est pas H9
4) Je termine dès que possible un exemple avec l'userform, j'ai commencé mais je n'avais pas mis la pathologie, je la rajoute
5) Dans ton classeur Excel tu peux afficher ou masquer non seulement des lignes ou des colonnes mais aussi des feuilles (Clic droit sur l'onglet avec nom de la feuille et Masquer puis opération inverse Clic droit sur un autre onglet et Afficher pour choisir les feuilles à démasquer)
Le principe en cachant le modèle étant bien sûr de le garder intact car à la protection de la feuille on va ajouter une protection du classeur (Onglet Révision - Protéger le classeur - et on coche Protéger la structure et les fenêtres) mais avec un mot de passe cette fois
Une fois cette protection activée on ne peux plus masquer ou démasquer des feuilles, ni supprimer ou ajouter de feuille... (lorsqu'on fait clic droit sur un Onglet ces options sont grisées et inaccessibles)
Voilà, en espérant avoir répondu à toutes tes questions
Je te transmet le fichier dès que possible, je m'absente cet après midi mais je pense que ce soir ce sera bon
Bien cordialement
Via
"L'imagination est plus importante que le savoir." A. Einstein