Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Validation des données

10 réponses
Avatar
Stef
Bonjour,

Je suis sous excel 2003 et je possède un fichier avec plusieurs cellules
contenant ce type de formule à partir de "données/validation" :

=DECALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))

Malheuresement, une mauvaise manip a eu pour conséquence que même si la
validation des données des cemmules possède toujours la formule, elle me
permet plus d'avoir la liste déroulante lors de la saisie

Auriez vous une idée ?

Merci

10 réponses

Avatar
MichD
Bonjour,
Et qu'est-ce qui se passe si tu refais manuellement la liste de validation
d'une cellule, as-tu toujours ce problème?
Par exemple, si tu boucles en vba sur toutes les "shapes" de la feuille de calcul
pour supprimer ces dernières, cela va générer la problématique que tu éprouves
et il n'y a pas grand-chose à faire que de refaire ces listes de validation.
Tu supprimes ces listes de validation et tu les recrées à nouveau.
Au lieu d'effectuer une boucle sur les objets de la feuille de calcul, utilise plutôt ceci :
Sub test()
Worksheets("Feuil1").ListObjects.Delete
End Sub
Il y a peut-être d'autres manoeuvres susceptibles de provoquer le même résultat...
MichD
"Stef" a écrit dans le message de groupe de discussion : 5795e468$0$26252$
Bonjour,
Je suis sous excel 2003 et je possède un fichier avec plusieurs cellules
contenant ce type de formule à partir de "données/validation" :
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
Malheuresement, une mauvaise manip a eu pour conséquence que même si la
validation des données des cemmules possède toujours la formule, elle me
permet plus d'avoir la liste déroulante lors de la saisie
Auriez vous une idée ?
Merci
Avatar
Stef
Merci pour cette réponse.
Si je veux recréer la formule dans la validation des données, l'erreur
suivante s'affiche :
- La source est reconnu comme érroné. Voulez vous continuer
Pour information :
le nom l_local a pour formule
"= DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)"
Liste!d_local étant le 1er mot de la liste déroulante contenu en A2 dans
l'onglet "liste"
Liste!c_local étant l'ensemble de la colonne
Ces formules ont été créées par mon prédecesseur que je maitrise beaucoup
moins bien. Un peu d'aide ne sera pas de refus.
Encore merci
"MichD" a écrit dans le message de news:
nn4ppg$1vkm$
Bonjour,
Et qu'est-ce qui se passe si tu refais manuellement la liste de validation
d'une cellule, as-tu toujours ce problème?
Par exemple, si tu boucles en vba sur toutes les "shapes" de la feuille de
calcul
pour supprimer ces dernières, cela va générer la problématique que tu
éprouves
et il n'y a pas grand-chose à faire que de refaire ces listes de
validation.
Tu supprimes ces listes de validation et tu les recrées à nouveau.
Au lieu d'effectuer une boucle sur les objets de la feuille de calcul,
utilise plutôt ceci :
Sub test()
Worksheets("Feuil1").ListObjects.Delete
End Sub
Il y a peut-être d'autres manoeuvres susceptibles de provoquer le même
résultat...
MichD
"Stef" a écrit dans le message de groupe de discussion :
5795e468$0$26252$
Bonjour,
Je suis sous excel 2003 et je possède un fichier avec plusieurs cellules
contenant ce type de formule à partir de "données/validation" :
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
Malheuresement, une mauvaise manip a eu pour conséquence que même si la
validation des données des cemmules possède toujours la formule, elle me
permet plus d'avoir la liste déroulante lors de la saisie
Auriez vous une idée ?
Merci
Avatar
MichD
le nom l_local a pour formule
= DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
La formule précédente doit représenter la liste de validation qui est
sur la feuille "Liste". "D_Local" et C_Local sont des plages nommées.
Si tu fais une liste de validation avec cette formule, tu vas voir la liste (les items)
Cette formule est écrite dans une cellule.
Le deuxième paramètre de "Décaler" représenté par Equiv() déplace le point d'insertion
dans la plage l_Local le numéro de la ligne trouvé par Equiv().
Le dernier paramètre de décaler() représente le nombre de cellules qui doit être pris
en considération à partir du nouveau point d'insertion d'Equiv() dans la plage I_local.
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
MichD
Avatar
Stef
Pourquoi me marque t-il "La source est reconnu comme érroné"
Qu'est ce qui cloche alors que sur mes fichiers de sauvegarde il ne semble
n'y avoir aucune différence.
En modifiant le fichier d'origine (ajout, suppression d'onglet) je me
rappelle d'avoir supprimé ou renommer par erreur l'onglet "Liste" mais
l'erreur fut corrigée. Y a t-il eu une incidence malgré tout ?
a écrit dans le message de news:
nn5657$kch$
le nom l_local a pour formule
= DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
La formule précédente doit représenter la liste de validation qui est
sur la feuille "Liste". "D_Local" et C_Local sont des plages nommées.
Si tu fais une liste de validation avec cette formule, tu vas voir la
liste (les items)
Cette formule est écrite dans une cellule.
Le deuxième paramètre de "Décaler" représenté par Equiv() déplace le point
d'insertion
dans la plage l_Local le numéro de la ligne trouvé par Equiv().
Le dernier paramètre de décaler() représente le nombre de cellules qui
doit être pris
en considération à partir du nouveau point d'insertion d'Equiv() dans la
plage I_local.
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
MichD
Avatar
Stef
Si je copie la cellule dans l'onglet où se situe les plages nommées ? Cela
fonctionne
Qu'ai je fait pour que cela ne fonctionne plus quand c'est dans un onglet
différent ? Merci
"MichD" a écrit dans le message de news:
nn5657$kch$
le nom l_local a pour formule
= DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
La formule précédente doit représenter la liste de validation qui est
sur la feuille "Liste". "D_Local" et C_Local sont des plages nommées.
Si tu fais une liste de validation avec cette formule, tu vas voir la
liste (les items)
Cette formule est écrite dans une cellule.
Le deuxième paramètre de "Décaler" représenté par Equiv() déplace le point
d'insertion
dans la plage l_Local le numéro de la ligne trouvé par Equiv().
Le dernier paramètre de décaler() représente le nombre de cellules qui
doit être pris
en considération à partir du nouveau point d'insertion d'Equiv() dans la
plage I_local.
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
MichD
Avatar
MichD
Dans tes formules, tu as beaucoup de "Nom" représentant des plages nommées ou formule.
As-tu vérifié systématiquement chacun de ces "Noms" et ce qu'il représente.
Si par erreur, tu as supprimé une feuille où une formule d'un "NOM" fait référence,
cela a sûrement perturbé les noms faisant référence à des plages d'adresses de
cette feuille ou à des "noms" qui utilisait cette feuille dans leur formule.
'------------------------------
Si je copie la cellule dans l'onglet où se situent les plages nommées ? Cela fonctionne
'------------------------------
Ta plage nommée faisant référence au contenu d'une plage de cellules d'une autre feuille
ne tient pas compte dans la formule "Decaler" que cette plage provient d'une autre feuille!
Désolé, mais je ne peux pas te dire à l'aveuglette de quoi il s'agit expressément.
MichD
"Stef" a écrit dans le message de groupe de discussion : 579633db$0$23776$
Si je copie la cellule dans l'onglet où se situe les plages nommées ? Cela
fonctionne
Qu'ai je fait pour que cela ne fonctionne plus quand c'est dans un onglet
différent ? Merci
"MichD" a écrit dans le message de news:
nn5657$kch$
le nom l_local a pour formule
= DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
La formule précédente doit représenter la liste de validation qui est
sur la feuille "Liste". "D_Local" et C_Local sont des plages nommées.
Si tu fais une liste de validation avec cette formule, tu vas voir la liste (les items)
Cette formule est écrite dans une cellule.
Le deuxième paramètre de "Décaler" représenté par Equiv() déplace le point d'insertion
dans la plage l_Local le numéro de la ligne trouvé par Equiv().
Le dernier paramètre de décaler() représente le nombre de cellules qui doit être pris
en considération à partir du nouveau point d'insertion d'Equiv() dans la plage I_local.
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
MichD
Avatar
Stef
Je vous remercie déjà pour votre aide
"Nom"
d_local =Liste!$A$2
c_local =Liste!$A:$A
l_local : = DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
Dans la cellule se trouvant dans l'onglet "saisie", la formule suivante pour
la liste de validation :
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
Comme je l'ai expliqué, c'est expression ne fonctionne plus aujourd'hui
alors qu'elle existe tel quel.le
Si je copie la cellule dans n'importe quelle autre onglet, la liste
déroulante ne fonctionne pas sauf si elle est copiée dans l'onglet "Liste"
Quand je dis que la liste déroulante ne fonctionne pas , c'est pas que la
liste est vide mais que le bouton de la liste déroulante n'est semble-t-il
pas activable
Merci pour votre aide
"MichD" a écrit dans le message de news:
nn5e42$12ga$
Dans tes formules, tu as beaucoup de "Nom" représentant des plages nommées
ou formule.
As-tu vérifié systématiquement chacun de ces "Noms" et ce qu'il
représente.
Si par erreur, tu as supprimé une feuille où une formule d'un "NOM" fait
référence,
cela a sûrement perturbé les noms faisant référence à des plages
d'adresses de
cette feuille ou à des "noms" qui utilisait cette feuille dans leur
formule.
'------------------------------
Si je copie la cellule dans l'onglet où se situent les plages nommées ?
Cela fonctionne
'------------------------------
Ta plage nommée faisant référence au contenu d'une plage de cellules d'une
autre feuille
ne tient pas compte dans la formule "Decaler" que cette plage provient
d'une autre feuille!
Désolé, mais je ne peux pas te dire à l'aveuglette de quoi il s'agit
expressément.
MichD
"Stef" a écrit dans le message de groupe de discussion :
579633db$0$23776$
Si je copie la cellule dans l'onglet où se situe les plages nommées ? Cela
fonctionne
Qu'ai je fait pour que cela ne fonctionne plus quand c'est dans un onglet
différent ? Merci
"MichD" a écrit dans le message de news:
nn5657$kch$
le nom l_local a pour formule
= DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
La formule précédente doit représenter la liste de validation qui est
sur la feuille "Liste". "D_Local" et C_Local sont des plages nommées.
Si tu fais une liste de validation avec cette formule, tu vas voir la
liste (les items)
Cette formule est écrite dans une cellule.
Le deuxième paramètre de "Décaler" représenté par Equiv() déplace le
point d'insertion
dans la plage l_Local le numéro de la ligne trouvé par Equiv().
Le dernier paramètre de décaler() représente le nombre de cellules qui
doit être pris
en considération à partir du nouveau point d'insertion d'Equiv() dans la
plage I_local.
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
MichD
Avatar
isabelle
bonjour Stef,
pour le nom l_local
la formule suivante :
ÞCALER(d_local;;;NBVAL(c_local))
à quoi fait référence la cellule B78 ?
dans la formule
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
peut tu nous donner un aperçu des données,
isabelle
Le 2016-07-26 à 01:57, Stef a écrit :
Je vous remercie déjà pour votre aide
"Nom"
d_local =Liste!$A$2
c_local =Liste!$A:$A
l_local : = DECALER(Liste!d_local;;;NBVAL(Liste!c_local)-1)
Dans la cellule se trouvant dans l'onglet "saisie", la formule suivante pour
la liste de validation :
ÞCALER(l_local;EQUIV(B78&"*";l_local;0)-1;;NB.SI(l_local;B78&"*"))
Comme je l'ai expliqué, c'est expression ne fonctionne plus aujourd'hui
alors qu'elle existe tel quel.le
Si je copie la cellule dans n'importe quelle autre onglet, la liste
déroulante ne fonctionne pas sauf si elle est copiée dans l'onglet "Liste"
Quand je dis que la liste déroulante ne fonctionne pas , c'est pas que la
liste est vide mais que le bouton de la liste déroulante n'est semble-t-il
pas activable
Merci pour votre aide
Avatar
MichD
Voici un fichier exemple à partir de tes formules et cela fonctionne :
http://www.cjoint.com/c/FGAohZgq0ai
La liste de validation est dans la plage A1 de la feuil1
MichD
Avatar
MichD
Juste un petit commentaire, tu devrais éviter certaines lettres dans la nomenclature des noms des
plages nommées ou formules.
Exemple : Dans la donne de tes formules, tu as un "NOM" "l_local", est un i majuscule ou un L
minuscule. Moi, j'ai choisi le L
et je l'ai mis en majuscule pour éviter toute confusion possible.
I => un i majuscule
l => un L minuscule
Tu peux faire la différence? Excel sait le faire... aussi bien t'organiser pour pouvoir le faire toi
aussi au premier coup d'oeil!
Certains préfèrent un temps précieux...
MichD