Excel 2003 - macro - ajout de cellule sous co
JOLARITALE
Messages postés
149
Statut
Membre
-
Mike-31 Messages postés 19571 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19571 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un grand tableau excel.
chaque ligne est remplie grâce a un menu déroulant.
La sélection de la validation est une feuille a part du classeur regroupant tout les listes de validation.
quand je rentre un contenu de cellule qui n'existe pas dans la liste de validation un message d'info s'ouvre disant que le contenu de la cellule n'apartient pas a la liste de validation mais me laisse continuer a écrire.
je voudrais que lorsque ce message apparait, il me demande si je veux l'ajouter et si je clique sur oui, il insere une copie de la cellule dans la liste de validation corresopondante.
je sais pas si j'ai été bien claire...
Mais est ce que quelqu'un voi ce que je veux dire et a une idée???
Merci d'avance.
j'ai un grand tableau excel.
chaque ligne est remplie grâce a un menu déroulant.
La sélection de la validation est une feuille a part du classeur regroupant tout les listes de validation.
quand je rentre un contenu de cellule qui n'existe pas dans la liste de validation un message d'info s'ouvre disant que le contenu de la cellule n'apartient pas a la liste de validation mais me laisse continuer a écrire.
je voudrais que lorsque ce message apparait, il me demande si je veux l'ajouter et si je clique sur oui, il insere une copie de la cellule dans la liste de validation corresopondante.
je sais pas si j'ai été bien claire...
Mais est ce que quelqu'un voi ce que je veux dire et a une idée???
Merci d'avance.
A voir également:
- Excel 2003 - macro - ajout de cellule sous co
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Word et excel gratuit - Guide
15 réponses
Bonjour,
Votre liste déroulante est bien crée via l'outils de données 'Validation'......
Si oui le message est étrange car il n'y a que les choix 'Réessayer, Annuler et Aide' ..
Votre liste déroulante est bien crée via l'outils de données 'Validation'......
Si oui le message est étrange car il n'y a que les choix 'Réessayer, Annuler et Aide' ..
Bonjour,
Dans les options du menu Validation on peut créer une fentre d'erreur qui dit ce qu'on a envi et qui peut soit nous laisser continué soit non annule le contenu de la cellule.
Dans les options du menu Validation on peut créer une fentre d'erreur qui dit ce qu'on a envi et qui peut soit nous laisser continué soit non annule le contenu de la cellule.
Bonjour,
Merci. Il faut créer une macro pour réaliser votre demande.
Pouvez-vous donner des détails : nombre des listes déroulantes; si elles sont nommées, leurs noms; ou elles se trouvent etc. ?
L'idéal : mettre une copie du fichier sur www.cjoint.com et poster le lien généré.
Merci.
Merci. Il faut créer une macro pour réaliser votre demande.
Pouvez-vous donner des détails : nombre des listes déroulantes; si elles sont nommées, leurs noms; ou elles se trouvent etc. ?
L'idéal : mettre une copie du fichier sur www.cjoint.com et poster le lien généré.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour JOLARITALE,
J'ai corrigé une faute dans le code, merci d'utiliser cette version : https://www.cjoint.com/?lvuqXLS2bJ
Bonne découverte.
J'ai corrigé une faute dans le code, merci d'utiliser cette version : https://www.cjoint.com/?lvuqXLS2bJ
Bonne découverte.
Bonsoir,
Vu que Le pingou ne souhaite pas partager son code, voici une procédure
1/ créer une liste soit en colonne cachée, ou dans une autre feuille, insertion/nom/définir dans nom dans le classeur saisir liste
Dans fait référence à coller =DECALER(Liste!$A$2;;;NBVAL(Liste!$A:$A)-1)
2/ créer une liste de validation
Données/Validation, dans Autoriser sélectionnez Liste
Dans Source saisir =Liste
Dans le code feuille collez ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If IsError(Application.Match(Target.Value, [Liste], 0)) Then
If MsgBox("La valeur - " & Range("B2") & " - ne figure pas dans la liste," & vbCrLf & vbCrLf & "souhaitez vous l'ajouter?", vbYesNo) = vbYes Then
[Liste].End(xlDown).Offset(1, 0) = Target.Value
Sheets("Liste").[Liste].Sort key1:=Sheets("Liste").Range("A2")
Else
Application.Undo
End If
End If
End If
End Sub
Pour créer une liste de liste de validation et éventuellement sur plusieurs colonnes, le code est légèrement différent, dans ce cas à la demande un exemple de fichier sera joint
A+
Vu que Le pingou ne souhaite pas partager son code, voici une procédure
1/ créer une liste soit en colonne cachée, ou dans une autre feuille, insertion/nom/définir dans nom dans le classeur saisir liste
Dans fait référence à coller =DECALER(Liste!$A$2;;;NBVAL(Liste!$A:$A)-1)
2/ créer une liste de validation
Données/Validation, dans Autoriser sélectionnez Liste
Dans Source saisir =Liste
Dans le code feuille collez ce code
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If IsError(Application.Match(Target.Value, [Liste], 0)) Then
If MsgBox("La valeur - " & Range("B2") & " - ne figure pas dans la liste," & vbCrLf & vbCrLf & "souhaitez vous l'ajouter?", vbYesNo) = vbYes Then
[Liste].End(xlDown).Offset(1, 0) = Target.Value
Sheets("Liste").[Liste].Sort key1:=Sheets("Liste").Range("A2")
Else
Application.Undo
End If
End If
End If
End Sub
Pour créer une liste de liste de validation et éventuellement sur plusieurs colonnes, le code est légèrement différent, dans ce cas à la demande un exemple de fichier sera joint
A+
Bonjour Mike-31,
Comme monsieur JOLARITALE ne se manifeste pas et que vous semblez interressé, voici le fichier : https://www.cjoint.com/?lwv47aEKSP
Bon dimanche.
Comme monsieur JOLARITALE ne se manifeste pas et que vous semblez interressé, voici le fichier : https://www.cjoint.com/?lwv47aEKSP
Bon dimanche.
Bonjour Mike-31,
C'est domage que vous n'avez pas intégré le tri.
C'est domage que vous n'avez pas intégré le tri.
Bonjour Mike-31,
J'ai essayé votre exemple.
Il se trouve que si je modifie l'un des titres (Liste 1, Liste 2 ou Liste 3) votre code détecte une nouvelle valeur et l’ajoute à la liste y relative. Je vous suggère de neutraliser les actions sur la ligne de titre avec cette instruction:
If Target.Row = 1 Then Exit Sub ' Ligne des titres, rien à faire
Bonne fin de journée
J'ai essayé votre exemple.
Il se trouve que si je modifie l'un des titres (Liste 1, Liste 2 ou Liste 3) votre code détecte une nouvelle valeur et l’ajoute à la liste y relative. Je vous suggère de neutraliser les actions sur la ligne de titre avec cette instruction:
If Target.Row = 1 Then Exit Sub ' Ligne des titres, rien à faire
Bonne fin de journée
Je n'ai pas testé dans les moindres détails, il est possible qu'il y ai d'autres anomalies, mais entre tous, nous pouvons céer un module nickel pour le présenter sur le forum.
Merci pour l'info ou la rectification si vous le souhaitez ainsi qu'intégrer un filtre des listes.
Je n'ai pas regardé votre code, simplement testé les saisies.
Tout marche nickel sauf colonne A des prénom, lorsque je saisie une nouvelle donnée après la msgbox de confirmation erreur 438. Alors que le dernier envoi dont le module est verrouillé aucun problème !
Je regarderai demain
Bonne soirée
Merci pour l'info ou la rectification si vous le souhaitez ainsi qu'intégrer un filtre des listes.
Je n'ai pas regardé votre code, simplement testé les saisies.
Tout marche nickel sauf colonne A des prénom, lorsque je saisie une nouvelle donnée après la msgbox de confirmation erreur 438. Alors que le dernier envoi dont le module est verrouillé aucun problème !
Je regarderai demain
Bonne soirée
Bonjour Mike-31,
J'ai l'impression que vous n'avez pas le bon fichier, s'il vous plait, prennez cette version : https://www.cjoint.com/?lxvRdvxZug
Merci.
J'ai l'impression que vous n'avez pas le bon fichier, s'il vous plait, prennez cette version : https://www.cjoint.com/?lxvRdvxZug
Merci.
Salut Le Pingou,
Je viens de jeter un oeil rapide sur vos fichiers, qui sont les même et présente le même problème qui vient de la macro
Sub TrierA_Z(collist, plalist)
Je regarderai le code demain
Bonne nuit
Je viens de jeter un oeil rapide sur vos fichiers, qui sont les même et présente le même problème qui vient de la macro
Sub TrierA_Z(collist, plalist)
Je regarderai le code demain
Bonne nuit
Bonjour Mike-31,
L'erreur 438 que vous m'avez signalée se produit à cause de la méthode que j'ai utilisée pour écrire le code de tri avec MSO 2007, il n'est pas supporté par les versions antérieures.
Voici le fichier mis à jour : https://www.cjoint.com/?lyi11qoaQ4
L'erreur 438 que vous m'avez signalée se produit à cause de la méthode que j'ai utilisée pour écrire le code de tri avec MSO 2007, il n'est pas supporté par les versions antérieures.
Voici le fichier mis à jour : https://www.cjoint.com/?lyi11qoaQ4
Salut Le Pingou,
Excuses du retard, quelques problèmes de la vie à gérer.
J'ai ouvert ton nouveau fichier qui fonctionne bien. Je n'ai pas encore regardé ton code ainsi que le mien d'ailleurs.
Si tu le permets je vais faire le fainéant et m’inspirer de ta macro pour trier mes colonnes. Je vais également revoir mon code qui actuellement fonctionne sur les trois premières colonnes A, B et C mais il serait bon de choisir ses colonnes exemple la A, la F etc…
Dés que j’ai un moment je vois ça et ne manquerai pas de la mettre mon fichier sur le Forum ne serai ce que pour avoir des avis ou des corrections éventuelles afin que le code fonctionne sur tous les PC
A+
Excuses du retard, quelques problèmes de la vie à gérer.
J'ai ouvert ton nouveau fichier qui fonctionne bien. Je n'ai pas encore regardé ton code ainsi que le mien d'ailleurs.
Si tu le permets je vais faire le fainéant et m’inspirer de ta macro pour trier mes colonnes. Je vais également revoir mon code qui actuellement fonctionne sur les trois premières colonnes A, B et C mais il serait bon de choisir ses colonnes exemple la A, la F etc…
Dés que j’ai un moment je vois ça et ne manquerai pas de la mettre mon fichier sur le Forum ne serai ce que pour avoir des avis ou des corrections éventuelles afin que le code fonctionne sur tous les PC
A+
Bonjour,
Je crois que j'ai un peu deserté le forum ces quelques mois derniers...
J'ai bien lu toute vos réponses...
et vous remercie de m'etre venue en aide...
mais je reste une néophite et la c'est pas mal précis comme données...
Je vais d'abord tout relire essayé d'en comprendre autant que possible... et ensuite essayé de poser des questions uassi préciser que vos postes...
Par contre je suis Madame Jolaritale et non pas Monsieur hihi
Merci
Je crois que j'ai un peu deserté le forum ces quelques mois derniers...
J'ai bien lu toute vos réponses...
et vous remercie de m'etre venue en aide...
mais je reste une néophite et la c'est pas mal précis comme données...
Je vais d'abord tout relire essayé d'en comprendre autant que possible... et ensuite essayé de poser des questions uassi préciser que vos postes...
Par contre je suis Madame Jolaritale et non pas Monsieur hihi
Merci
Bonjour Maaadame, Salut Le Pingou,
Ah Monsieur est une Dame, ça va faire sourire Le Pingou (post 13)
ceci,mis à part, si tu as du mal avec le VBA tu peux toujours mettre ton fichier s'il ne contient pas de notes confidentielles sur le forum, avec ce lien
https://www.cjoint.com/
et essayera avec de faire quelque chose pour Madame
A+
Ah Monsieur est une Dame, ça va faire sourire Le Pingou (post 13)
ceci,mis à part, si tu as du mal avec le VBA tu peux toujours mettre ton fichier s'il ne contient pas de notes confidentielles sur le forum, avec ce lien
https://www.cjoint.com/
et essayera avec de faire quelque chose pour Madame
A+