[VBA Excel] Macro quand ajout ou supprime ligne
Résolu/Fermé
marieC
Messages postés
10
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
17 décembre 2007
-
1 juin 2005 à 16:41
urban - 30 mai 2008 à 15:27
urban - 30 mai 2008 à 15:27
A voir également:
- [VBA Excel] Macro quand ajout ou supprime ligne
- Aller à la ligne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Si ou excel - Guide
10 réponses
marieC
Messages postés
10
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
17 décembre 2007
4
2 juin 2005 à 08:46
2 juin 2005 à 08:46
En fait il y aura plusieurs utilisateurs qui vont utiliser ce fichier. Mais j'ai peur qu'un utilisateur supprime une ligne par inadvertance . C'est pour ça que je veux mettre en rouge les lignes à supprimer. Ensuite j'ai une macro qui enregistre toute les lignes dans une table oracles, qui supprime ce qui doit être supprimé et qui modifie ce qui doit l'être. La solution des 2 Macros serait pas mal mais comment empecher de supprimer une ligne ou d'en insérer une en passant par les fonction standard d'excel (click droit puis supprimer )???
Merci de votre aide.
Merci de votre aide.
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
2 juin 2005 à 09:21
2 juin 2005 à 09:21
;-)
Le système de lecture seule, c'est vrai, est imparable ;-)
Il y a aussi la possiblité de virer les commandes dans l'interface, mais cela peut s'avérer très lourd question maintenance et dev, y compris en test, car quand tu vires des commandes via le code, il faut prévoir une autre procédure qui les remets, en cas de plantage... Bref...
Une solution envisageable serait (?), dans l'événement open du workbook, de copier la feuille, passer l'originale en visible=false et la copie en visible=true, d'analyser le nombre, via LastCell, de lignes/colonnes de l'original, puis de comparer, dans les événements de fermeture (appli/classeur....), l'original et la copie... Ensuite, rétablir -ou n'importe quoi d'autre- en fonction des différences... ?
;-)
Le système de lecture seule, c'est vrai, est imparable ;-)
Il y a aussi la possiblité de virer les commandes dans l'interface, mais cela peut s'avérer très lourd question maintenance et dev, y compris en test, car quand tu vires des commandes via le code, il faut prévoir une autre procédure qui les remets, en cas de plantage... Bref...
Une solution envisageable serait (?), dans l'événement open du workbook, de copier la feuille, passer l'originale en visible=false et la copie en visible=true, d'analyser le nombre, via LastCell, de lignes/colonnes de l'original, puis de comparer, dans les événements de fermeture (appli/classeur....), l'original et la copie... Ensuite, rétablir -ou n'importe quoi d'autre- en fonction des différences... ?
;-)
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
2 juin 2005 à 09:31
2 juin 2005 à 09:31
Je crois qu'on peut faire plus simple :
- supprimer Insérer et Supprimer dans les menus de la barre de menu d'Excel
- invalider les touches de raccourci correspondantes
- masquer le menu contextuel du clic droit pour les lignes et les cellules
Non ?
- supprimer Insérer et Supprimer dans les menus de la barre de menu d'Excel
- invalider les touches de raccourci correspondantes
- masquer le menu contextuel du clic droit pour les lignes et les cellules
Non ?
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
>
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
2 juin 2005 à 09:43
2 juin 2005 à 09:43
;-)
Oui, c'est ce que je disais au dessus quand je parlais de virer les commandes, et encore au dessus quand je parlais de l'événement BeforeRightClick, mais je ne suis pas vraiment pour modifier l'interface, cela peut engendrer plein de dysfonctionnements si tu ne fais pas hyper gaffe à ce que tu écris...
Par contre, je ne sais pas comment intercepter l'appel aux touches de raccourci (en VBA bien sûr) simplement... Tu fais comment ?
;-)
Oui, c'est ce que je disais au dessus quand je parlais de virer les commandes, et encore au dessus quand je parlais de l'événement BeforeRightClick, mais je ne suis pas vraiment pour modifier l'interface, cela peut engendrer plein de dysfonctionnements si tu ne fais pas hyper gaffe à ce que tu écris...
Par contre, je ne sais pas comment intercepter l'appel aux touches de raccourci (en VBA bien sûr) simplement... Tu fais comment ?
;-)
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
>
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
2 juin 2005 à 10:25
2 juin 2005 à 10:25
Eh bien il suffit d'appeler, avec les mêmes touches de raccourci, une macro ... qui ne fait rien.
Les raccourcis des macros perso prennent le pas sur les raccourcis de l'application.
C'est pour ça qu'on conseille en général d'utiliser CRTL + MAJ + touche pour éviter les conflits.
Les raccourcis des macros perso prennent le pas sur les raccourcis de l'application.
C'est pour ça qu'on conseille en général d'utiliser CRTL + MAJ + touche pour éviter les conflits.
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
>
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
2 juin 2005 à 10:38
2 juin 2005 à 10:38
;-)
Mais bon dieu, mais c'est sûr !
C'était tellement simple et évident et devant mon nez que j'ai rien vu...
Sub/End sub !! Quel con je fais, mais bien sûr.. ;-) Le boulet !! ;-))))
Mais bon dieu, mais c'est sûr !
C'était tellement simple et évident et devant mon nez que j'ai rien vu...
Sub/End sub !! Quel con je fais, mais bien sûr.. ;-) Le boulet !! ;-))))
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
>
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
2 juin 2005 à 11:06
2 juin 2005 à 11:06
Bois un coup à ma santé, tu verras, ça va passer !
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
1 juin 2005 à 17:20
1 juin 2005 à 17:20
;-)
Tu peut essayer de gérer les événements "BeforeRightClick" ou "Change" de la feuille, mais bonjour à développer...
;-)
Tu peut essayer de gérer les événements "BeforeRightClick" ou "Change" de la feuille, mais bonjour à développer...
;-)
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
1 juin 2005 à 18:36
1 juin 2005 à 18:36
Hello marieC,
Et si tu prenais le problème à l'envers ? Tu construis 2 macros VBA :
- une pour insérer,
- une pour supprimer.
Tu y mets ce que tu veux, et tu les appelles par bouton... ou une touche... ou dans le menu Excel...
Non ?
Et si tu prenais le problème à l'envers ? Tu construis 2 macros VBA :
- une pour insérer,
- une pour supprimer.
Tu y mets ce que tu veux, et tu les appelles par bouton... ou une touche... ou dans le menu Excel...
Non ?
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
204
1 juin 2005 à 18:50
1 juin 2005 à 18:50
;-)
Moi, dans cette histoire, c'est le "on" qui me gène, cela suppose n'importe quel utilisateur, et dans ce cas, faut verrouiller l'appli..
;-)
Dans ta solution, très bien, mais uniquement pour une utilisation perso...
;-)
Moi, dans cette histoire, c'est le "on" qui me gène, cela suppose n'importe quel utilisateur, et dans ce cas, faut verrouiller l'appli..
;-)
Dans ta solution, très bien, mais uniquement pour une utilisation perso...
;-)
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
>
WhiteFang
Messages postés
2063
Date d'inscription
dimanche 1 septembre 2002
Statut
Membre
Dernière intervention
15 février 2008
1 juin 2005 à 21:17
1 juin 2005 à 21:17
Tu as raison.
Effectivement, je me plaçais dans un contexte d'utilisation perso.
Si ce n'est pas le cas, et si seuls certains ont le droit à certaines fonctionnalités, c'est assez facile de verrouiller...
Effectivement, je me plaçais dans un contexte d'utilisation perso.
Si ce n'est pas le cas, et si seuls certains ont le droit à certaines fonctionnalités, c'est assez facile de verrouiller...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
marieC
Messages postés
10
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
17 décembre 2007
4
2 juin 2005 à 10:16
2 juin 2005 à 10:16
MErci pour toute vos réponses. Je vais garder ce que vous m'avez envoyer. Peut être que ça m'aidera pour un autre problème. Par contre pour mon fichier excel actuel j'ai peur de développer une usine à gaz. Je vais donc rester simple. Il n'y a que 2 utilisateurs qui l'utiliseront, Ce sera à eux de faire attention.
Merci beaucoup pour votre aide.
Merci beaucoup pour votre aide.
marieC
Messages postés
10
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
17 décembre 2007
4
6 juin 2005 à 09:35
6 juin 2005 à 09:35
Juste pour infos, Comment créé les touches de raccourci vers une macro ?
Merci
Merci
Armojax
Messages postés
1860
Date d'inscription
mercredi 19 janvier 2005
Statut
Membre
Dernière intervention
2 octobre 2024
1 528
6 juin 2005 à 11:08
6 juin 2005 à 11:08
Bonjour marieC,
Pour une macro déjà créée tu fais, dans le menu Excel :
Outils/Macro/Macros...
Dans la boite de dialogue qui s'affiche, sélectionner la macro, s'il y en a plusieurs, puis cliquer sur le bouton "Options".
Entrer la lettre choisie pour l'appel de la macro.
La macro sera appelée avec CTRL + la touche choisie.
Si on ne veut pas de conflit avec les raccourcis standard (p. ex. CTRL + c pour copier), il vaut mieux entrer une lettre majuscule.
Ajx.
Pour une macro déjà créée tu fais, dans le menu Excel :
Outils/Macro/Macros...
Dans la boite de dialogue qui s'affiche, sélectionner la macro, s'il y en a plusieurs, puis cliquer sur le bouton "Options".
Entrer la lettre choisie pour l'appel de la macro.
La macro sera appelée avec CTRL + la touche choisie.
Si on ne veut pas de conflit avec les raccourcis standard (p. ex. CTRL + c pour copier), il vaut mieux entrer une lettre majuscule.
Ajx.
marieC
Messages postés
10
Date d'inscription
mercredi 1 juin 2005
Statut
Membre
Dernière intervention
17 décembre 2007
4
6 juin 2005 à 13:45
6 juin 2005 à 13:45
Merci à tous pour votre aide
Bonjour,
Je sais pas si c'est ici que je dois expliquer mon probleme alors dsl si je me suis trompé... J'ai un tableau récapitulatif du moi de janvier, février, mars j'attend celui des autres mois mais on me demande de préparer le tableau récapitulatif annuel c'est a dire que je dois trouver une formule qui me permettra que lorsque j'ajouterai les tableaux des autres moi le tableau annuel se complete au fur et a mesure... On ma dit que pour ca il faut utiliser une macro mais je ne sais pas comment faire...
Si quelqu'un a compris merci de m'aider
Je sais pas si c'est ici que je dois expliquer mon probleme alors dsl si je me suis trompé... J'ai un tableau récapitulatif du moi de janvier, février, mars j'attend celui des autres mois mais on me demande de préparer le tableau récapitulatif annuel c'est a dire que je dois trouver une formule qui me permettra que lorsque j'ajouterai les tableaux des autres moi le tableau annuel se complete au fur et a mesure... On ma dit que pour ca il faut utiliser une macro mais je ne sais pas comment faire...
Si quelqu'un a compris merci de m'aider
J'ai créé une ongue liste déroulante mais je ne peux pas la formater alors je voudrai faire une macro avec ma liste déroulante pour pouvoir la formater et l'intégrer dans mon tableau Merci
Bonjour à tous et à toutes
Je voudrai savoir comment faire pour utiliser des valeurs d'un de mes fichiers excel pour qu'il les affiche sur ma feuille
Je m'explique
j' ai un tableau excel avec 7 colonnes et 86 lignes les valeurs que je voudrai utiliser commence ligne 2
sur mon form vb6 il y a un combobox où je voudrai mettre ma colonne1 pour le choix de titre (par exempler)et 6 zones de texte ou je voudrai mettre les colonnes restantes(chiffres)Les valeur qui vont apparaitre serviront par la suite à effectuer des calculs
mais je sais pas comment faire pourriez vous m'aider svp.
merci
Je voudrai savoir comment faire pour utiliser des valeurs d'un de mes fichiers excel pour qu'il les affiche sur ma feuille
Je m'explique
j' ai un tableau excel avec 7 colonnes et 86 lignes les valeurs que je voudrai utiliser commence ligne 2
sur mon form vb6 il y a un combobox où je voudrai mettre ma colonne1 pour le choix de titre (par exempler)et 6 zones de texte ou je voudrai mettre les colonnes restantes(chiffres)Les valeur qui vont apparaitre serviront par la suite à effectuer des calculs
mais je sais pas comment faire pourriez vous m'aider svp.
merci
2 juin 2005 à 09:08
Les autres "utilisateurs" n'ont pas le droit d'insérer ni de supprimer des lignes : OK.
Question : ont-ils le droit de faire d'autres modifications, ou bien ne peuvent-ils que consulter ? Si oui, il suffirait de leur fournir l'accès en lecture seule.