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

VBA-doublon selectif

5 réponses
Avatar
Pierre.M
Bonsoir,

Quelqu'un voudrait-il m'aider a ecrire la macro qui ferait la chose suivante :

Dans un tableau, les colonnes E a N peuvent etre soit vides, soit
comporter les lettres A, B, C et D.
Je voudrais que, quand dans la même ligne (colonne E a N, toujours) on
valide un deuxieme "A" (et seulement des "A") apparaisse un MsgBox qui
signale l'erreur.
Si 2 " B, C ou D", pas de probleme.

Par curiosité comment realiser la meme chose en jouant sur les
validations de données ?

Je saurais faire, mais sans distinguer des doublons "particuliers".

Merci beaucoup et bonne soirée a tout le monde.

Pierre.M

5 réponses

Avatar
DanielCo
Bonjour.
Sélectionne ta plage, choisis Données, Validation, Personnalisé, et
entre la formule (si la plage commence en ligne 4) :
=NB.SI($E4:$N4;"a")=1
Cordialement.
Daniel


Bonsoir,

Quelqu'un voudrait-il m'aider a ecrire la macro qui ferait la chose suivante
:

Dans un tableau, les colonnes E a N peuvent etre soit vides, soit comporter
les lettres A, B, C et D.
Je voudrais que, quand dans la même ligne (colonne E a N, toujours) on valide
un deuxieme "A" (et seulement des "A") apparaisse un MsgBox qui signale
l'erreur.
Si 2 " B, C ou D", pas de probleme.

Par curiosité comment realiser la meme chose en jouant sur les validations de
données ?

Je saurais faire, mais sans distinguer des doublons "particuliers".

Merci beaucoup et bonne soirée a tout le monde.

Pierre.M
Avatar
Pierre.M
Merci beaucoup, je tiens une partie de ma reponse.
Sais-tu par hasard comment faire en VBA (condition obligatoire dans mon
projet) ?
Est-il possible d'utiliser la formule que tu m'as donnee dans une
macro? NB.SI ca donne quoi en anglais ?
PM

On 2010-08-12 20:22:42 +0200, DanielCo said:

Bonjour.
Sélectionne ta plage, choisis Données, Validation, Personnalisé, et
entre la formule (si la plage commence en ligne 4) :
=NB.SI($E4:$N4;"a")=1
Cordialement.
Daniel


Bonsoir,

Quelqu'un voudrait-il m'aider a ecrire la macro qui ferait la chose suivante :

Dans un tableau, les colonnes E a N peuvent etre soit vides, soit
comporter les lettres A, B, C et D.
Je voudrais que, quand dans la même ligne (colonne E a N, toujours) on
valide un deuxieme "A" (et seulement des "A") apparaisse un MsgBox qui
signale l'erreur.
Si 2 " B, C ou D", pas de probleme.

Par curiosité comment realiser la meme chose en jouant sur les
validations de données ?

Je saurais faire, mais sans distinguer des doublons "particuliers".

Merci beaucoup et bonne soirée a tout le monde.

Pierre.M
Avatar
DanielCo
NB.SI, c'est COUNTIF
Tu peux mettre dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, [E4:N18]) Is Nothing Then
If WorksheetFunction.CountIf(Range(Cells(c.Row, 5),
Cells(c.Row, 14)), "a") > 1 Then
MsgBox "Erreur"
End If
End If
Next c
End Sub

Daniel


Merci beaucoup, je tiens une partie de ma reponse.
Sais-tu par hasard comment faire en VBA (condition obligatoire dans mon
projet) ?
Est-il possible d'utiliser la formule que tu m'as donnee dans une macro?
NB.SI ca donne quoi en anglais ?
PM

On 2010-08-12 20:22:42 +0200, DanielCo said:

Bonjour.
Sélectionne ta plage, choisis Données, Validation, Personnalisé, et entre
la formule (si la plage commence en ligne 4) :
=NB.SI($E4:$N4;"a")=1
Cordialement.
Daniel


Bonsoir,

Quelqu'un voudrait-il m'aider a ecrire la macro qui ferait la chose
suivante :

Dans un tableau, les colonnes E a N peuvent etre soit vides, soit
comporter les lettres A, B, C et D.
Je voudrais que, quand dans la même ligne (colonne E a N, toujours) on
valide un deuxieme "A" (et seulement des "A") apparaisse un MsgBox qui
signale l'erreur.
Si 2 " B, C ou D", pas de probleme.

Par curiosité comment realiser la meme chose en jouant sur les validations
de données ?

Je saurais faire, mais sans distinguer des doublons "particuliers".

Merci beaucoup et bonne soirée a tout le monde.

Pierre.M
Avatar
Pierre.M
Merci. Je teste ca des demain matin et je te dis.
Merci encore et bonne fin de soirée.
PM



On 2010-08-12 21:39:12 +0200, DanielCo said:

NB.SI, c'est COUNTIF
Tu peux mettre dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, [E4:N18]) Is Nothing Then
If WorksheetFunction.CountIf(Range(Cells(c.Row, 5),
Cells(c.Row, 14)), "a") > 1 Then
MsgBox "Erreur"
End If
End If
Next c
End Sub

Daniel


Merci beaucoup, je tiens une partie de ma reponse.
Sais-tu par hasard comment faire en VBA (condition obligatoire dans mon
projet) ?
Est-il possible d'utiliser la formule que tu m'as donnee dans une
macro? NB.SI ca donne quoi en anglais ?
PM

On 2010-08-12 20:22:42 +0200, DanielCo said:

Bonjour.
Sélectionne ta plage, choisis Données, Validation, Personnalisé, et
entre la formule (si la plage commence en ligne 4) :
=NB.SI($E4:$N4;"a")=1
Cordialement.
Daniel


Bonsoir,

Quelqu'un voudrait-il m'aider a ecrire la macro qui ferait la chose suivante :

Dans un tableau, les colonnes E a N peuvent etre soit vides, soit
comporter les lettres A, B, C et D.
Je voudrais que, quand dans la même ligne (colonne E a N, toujours) on
valide un deuxieme "A" (et seulement des "A") apparaisse un MsgBox qui
signale l'erreur.
Si 2 " B, C ou D", pas de probleme.

Par curiosité comment realiser la meme chose en jouant sur les
validations de données ?

Je saurais faire, mais sans distinguer des doublons "particuliers".

Merci beaucoup et bonne soirée a tout le monde.

Pierre.M
Avatar
Pierre.M
Ca fonctionne impecablement.
Merci encore et bonne journée.
PM




On 2010-08-12 21:39:12 +0200, DanielCo said:

NB.SI, c'est COUNTIF
Tu peux mettre dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
If Not Intersect(c, [E4:N18]) Is Nothing Then
If WorksheetFunction.CountIf(Range(Cells(c.Row, 5),
Cells(c.Row, 14)), "a") > 1 Then
MsgBox "Erreur"
End If
End If
Next c
End Sub

Daniel


Merci beaucoup, je tiens une partie de ma reponse.
Sais-tu par hasard comment faire en VBA (condition obligatoire dans mon
projet) ?
Est-il possible d'utiliser la formule que tu m'as donnee dans une
macro? NB.SI ca donne quoi en anglais ?
PM

On 2010-08-12 20:22:42 +0200, DanielCo said:

Bonjour.
Sélectionne ta plage, choisis Données, Validation, Personnalisé, et
entre la formule (si la plage commence en ligne 4) :
=NB.SI($E4:$N4;"a")=1
Cordialement.
Daniel


Bonsoir,

Quelqu'un voudrait-il m'aider a ecrire la macro qui ferait la chose suivante :

Dans un tableau, les colonnes E a N peuvent etre soit vides, soit
comporter les lettres A, B, C et D.
Je voudrais que, quand dans la même ligne (colonne E a N, toujours) on
valide un deuxieme "A" (et seulement des "A") apparaisse un MsgBox qui
signale l'erreur.
Si 2 " B, C ou D", pas de probleme.

Par curiosité comment realiser la meme chose en jouant sur les
validations de données ?

Je saurais faire, mais sans distinguer des doublons "particuliers".

Merci beaucoup et bonne soirée a tout le monde.

Pierre.M