Accepter un nombre dans 1 cellule selon condition...

J

juliette

Guest
Bonjour le forum...

je souhaite à nouveau faire appel à vos connaissances...

j'ai un tableau avec 2 colonnes:
- une colonne A possède des données sur un certain nombre de ligne
- et une colonne B que je dois renseigner.

Je souhaiterai trouver un procédé pour que les nombres que je dois indiquer dans les cellules de la colonne B doivent être MULTIPLE de ceux de la colonne A.

par exemple:

en A1 j'ai 30
et si en B1 je tape "40", un msgBox m'invite à taper un autre nombre.

Y'a t-il une personne qui aurait une solution à mon problème?


merci d'avance

juliette
 
A

andré

Guest
Salut juliette,

Pour ton exemple : valeur existante en A1 et valeur tapée en B1
Données / Validation / Autoriser : personnalisé / Formule : = MOD(B1;A1)=0 / Alerte d'erreur / Titre : ce que tu veux / Message : ce que tu veux / OK

Ândré.
 
M

Moa

Guest
Salut les gars !

Pendant que vous répondiez à Juju, je lui faisait un petit exemple, basé sur la fonction Ent.

Et comme plusieurs méthodes valent mieux qu'une je vous la joint !


@ +

Moa
 

Pièces jointes

  • DecimalJuliette.zip
    2.1 KB · Affichages: 18
M

Moa

Guest
LOL....!!!

T'as raison, moi qui cherche toujours la simplicité et qui évite le plus souvent possible le Vba, sur ce coup là j'ai effectivement bien compliqué la tâche...hihihi...!

Mais à ma décharge, quand tu vas dans l'aide Excel et que tu tape Décimal ou Byte....rien du tout, on ne te parle pas de "Mod", connaissant "Ent", je me suis donc tourné vers cette fonction.

Mais j'avoue que je râlais au sujet des concepteurs d'Excel, en disant :

"je ne comprends pas qu'une fonction aussi simple n'existe pas dans Excel."

Et Pascal et Toi êtes arrivé pour m'apprendre une chose de plus...

Donc merci à vous deux...et à Juliette pour sa question...

@ +

Moa
 
J

juliette

Guest
salut à tous...

je tiens à tous vous remercier de vous être penchés sur mon problème...

et si en plus cela a permis à Moa de découvrir la fonction MOD, je suis contente d'avoir posé cette question lol.

merci encore et bon week-end au forum!

Juju
 
J

juliette

Guest
dernière minute!!!

j'ai réussi à mettre en application la solution de Moa

mais

pas celle d'André et Pascal!!!


j'ai joint un fichier à ce message.
pourriez-vous le regarder et m'aider svp?

je souhaitrai en fait que les conditions s'appliquent à B et C selon A.

merci

Juliette
 
J

juliette

Guest
Bonjour à tous...

Je te remercie Moa pour ton aide, j'ai réussi à partir de ton exemple à compléter la colonne C.

Je souhaiterai utiliser cette option de validation via un VBA... comment pourrais-je faire?

En fait, j'ai un tableau qui est reproduit quasiment à l'identique sur plusieurs feuilles.
Je souhaiterai avec un bouton activer ou désactiver l'option validation des données.

Y a-t-il un moyen de réaliser cela?


merci d'avance pour votre éventuelle aide.


Juju
 
M

Moa

Guest
Salut Juliette !

Tu as une façon hyper simple de le faire en Vba :

Tu lances l'enregistreur de macro, puis tu fais ta manip pour appliquer ta "Validation".

Tu arrêtes l'enregistreur.

Tu refait la même manip, mais cette fois pour effacer ta "Validation".

Et voilà, tu n'a plus qu'à ouvrir tes macros pour essayer de comprendre le code et éventuellement le modifier.

Tu affectes tes deux macros à deux boutons de commande et le tour est joué en moins de 5 minutes....

D'ailleurs je viens de le faire et voilà ce qu'ont donné les deux macros :


Sub Macro1()

Range("B3:B12").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="GloubiGloulba"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Bof"
.InputMessage = ""
.ErrorMessage = "PasGlopPasglop !"
.ShowInput = True
.ShowError = True
End With

End Sub

Puis la macro pour effacer la Validation :

Sub Macro2()
Range("B3:B12").Select
With Selection.Validation
.Delete
End With
End Sub

A savoir que la macro2 était beaucoup plus longue, puisqu'elle reprenait tous les arguments de la Macro1 en les modifiant.

J'ai donc viré ce qui n'était pas necessaire, puisque la macro "Delete" tout dès le début.

Puis enfin j'ai remodifié la macro2 tel que :

Sub Macro2()
Range("B3:B12").Select
Selection.Validation.Delete
End Sub

Voilà, à toi d'en faire autant...!

@ + et Noyeux Joël....!!
 

Discussions similaires