Validation -zone numérique-- Gestion erreur

Bonjour le Forum,

Deux questions.

1) Il y a-t-il des caractères spéciaux pour faire passer dans la zone numérique d'une validation, une formule?

voir fichier joint de mon désire.

https://www.excel-pratique.com/~files/doc/ixx44validation.xls

2) Dans le code code suivant la gestion de l'erreur est elle correct?

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo GESTERR

If Target.Column = 3 Then

Target = UCase(Target)

ElseIf Target.Column = 4 Then

Target = Application.Proper(Target)

End If

GESTERR:

End Sub

Bonne journée à tous

Annette

Salut!

En ce qui concerne ton code pour l'erreur, je ne sais pas

pour ta validation, ragarde si celà te fais avancer.

j'ai mis en E3 = le nombre de joueur

La formule en D16, permet d'afficher le message du nombre maximal à ne pas dépasser.

="ne pas dépasser "&ARRONDI.INF(E3/2;0)&" par poule"

Si tu modifies le nombre de joueur en E1, la phrase se modifie toute seule

Dans la validation, il suffit de faire pour le nombre maximal =ARRONDI.INF(E3/2;0), et c'est bon. Quand tu saisis un nombre de joueur par poule supérieur au nombre saisi dans E3, tu as un message simple d'erreur

voilà ce que ça donne :

https://www.excel-pratique.com/~files/doc/SWmCEvalidation.xls

à toi de modifier les numéros de colonne et ligne comme tu as envie

Tiens moi au courant

A te relire!

Re bonjour le Forum,

Merci Geremi25 pour ta réponse.

Une autre question pour peaufiner.

Comment insérer la variable du nombre Maxi dans "Alerte d'erreur"

exemple pour avoir la valeur 7 si E13 = 15 à la place de la formule

le nombre de joueurs par poule ne doit pas dépasser [arrondi.inf(E13/2;0].

J'avais bien essayé, mais ce n'est pas possible dans la validation

tu peux essayer de te faire ça en VBA

quelque chose du genre :

sIf E15 > ARRONDI.INF(E3/2;0), THen

MesBox "ne pas dépasser etc etc etc..."

je dois y aller, je suis désolé! bon week end!

Bonjour à tous,

Mon problème n'est pas résolu la réponse de jérémi25 n'est pas celle que j'attendais.

1 - erreur d'éxécution 13 sur

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo GESTERR

If Target.Column = 3 Then

Target = UCase(Target)

ElseIf Target.Column = 4 Then

Target = Application.Proper(Target)

End If

GESTERR:

End Sub

La gestion de l'erreur n'est pas correcte ?

Puis la deuxième

2 - Ecriture d'un code dans une validation, est ce possible?

ci joint fichier pour exemple

https://www.excel-pratique.com/~files/doc/JXGWAvalidation.xls

Merci et à bientôt

Annette

Re bonjour à tous,

En attendant une réponse aux question posées j'ai avancé dans mon écriture.

Je joins le fichier réel de mon application.(Les noms sont bidons)

https://www.excel-pratique.com/~files/doc/1SVeytirage_au_sort.xls

1ère question:

Pour quelle raison, lorsque l'on valide les cellules des colonnes B et C, l'attente est longue.

Qu'ai je fait pour être puni

2 ième question

Est il possible de mettre une formule dans le commentaire d'une validation (voir la zone Nbre/équipe en BE2 de mon appli)

Je vous remercie d'avance.

Annette

11pour-giguere.xlsm (24.48 Ko)

bonjour,

Il ya gestion d'erreur et...gestion d'erreur. Dans le cas présent, Oui c'est suffisant.

Pour ta validation MAX, tu peux pas mettre du VBA mais ta formule fonctionne très bien.

Pour l'attente c'est simple tu utilises une macro qui s'eécute à chaque fois que quelque chose change et comme à chaque fois ta macro change quelque chose (même si elle ne change rien... ) ça déclanche la macro qui s'exécute à chaque fois que tu change quelque chose (même si tu ne change rien ! ) En effet que tu changes quelque chose ou que ne change rien... Ta macro ne détecte pas réellement un changement mais une entrée dans une cellule... Que cette entrée soit la même que précédement n'y change rien : La macro Worksheet_Change s'exécute...

C'est clair ? Euh j'suis pas sur...

En bref, les macros évènementielles surtout comme tu les utilises ont la facheuse habitude de s'appeler en boucle.

Pour éviter celà tu peux modifier le code comme suit :

Private Sub Worksheet_Change(ByVal Target As Range)

ctiveSheet.Protect UserInterfaceOnly:=True 'évite de déprotéger la feuille

Application.EnableEvents = False 'enpêche VBA de détecter une modification

On Error GoTo GESTERR

If Target.Column = 2 Then

Target = UCase(Target)

ElseIf Target.Column = 3 Then

Target = Application.Proper(Target)

End If

GESTERR:

Application.EnableEvents = True 'permet à VBA de détecter à nouveau les évènements

End Sub

A+

Re-Re-Bonjour à tous.

Merci plus particulièrement pour ces questions à jérémi25 et a galopin01 pour les explications et le code qui m'a fait gagné 9,0x secondes par "ENTREE"(chrono en main)

Pour la gestion du nombre de joueurs je m'y suis prise autrement.

La prochaine progression est une liste fixe des joueurs dans une autre feuille.puis ramener les joueurs pointés dans la liste pour le tirage.

ci joint l'écriture modifiée

A bientôt à tous sur ce FORUM

Annette

Rechercher des sujets similaires à "validation zone numerique gestion erreur"