Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Bonjour.
J'ai un problème en excel
Je travaille dans 2 colonnes.
J'aimerais que si je saisi une valeur dans la 2ème colonne qui se trouvant déjà dans la 1ère colonne, alors que cette valeur que cette valeur s'efface automatiquement dans la 1ère colonne
Vous n'êtes pas passé par l'accueil ? c'estici.
Il y est dit entre autres conseils : 3 – Le titre de la question doit être clair et comporter explicitement le sujet de la demande. Cela sous-entend qu’une nouvelle demande fait l’objet d’un nouveau fil.
Pour qu'une entrée en efface une autre, il faut passer par les macros. Avez-vous déjà programmé une macro sur Excel ?
Sinon, d'autres solutions existent (notamment les mises en forme conditionnelles,)
Comment les valeurs de la 1° colonne sont-elles entrées ? Une formule conditionnelle est-elle envisageable ?
Joignez un court exemple, aussi représentatif que possible, et nous testerons sur ce fichier (sans données confidentielles) les différentes possibilités
Merci pour votre intervention.
Je vais joindre mon fichier.
Il y a des chiffres dans la colonne C, je voudrait que quand j'écris un chiffre identique dans la colonne D, alors qu'il s'efface automatiquement dans la colonne C et vis versa. Qu'un même chiffre ne puisse exister en même temps dans la colonne C et dans la colonne D.
En VBA on peut utiliser cette macro évènementielle :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Count > 1 Then Application.Undo: GoTo 1 'évite les entrées multiples
With [A4].CurrentRegion
If Not Intersect(Target, .Columns(3)) Is Nothing Then
.Columns(4).Replace Target, "", xlWhole
ElseIf Not Intersect(Target, .Columns(4)) Is Nothing Then
.Columns(3).Replace Target, "", xlWhole
End If
End With
1 Application.EnableEvents = True
End Sub
Merci bien Patrick pour les efforts.
Mais je n'arrive pas à utiliser le fichier que avez joint avec validation de données,
peut-êtren que je me suis pas fait bien comprendre.
Ex: Si le chiffre 56 se trouve déjà dans la colonne C, dès que je saisi 56 dans la colonne D, alors
qu'il s'éfface automatiquement dans la colonne C et Vis-versa.
Merci bien Job75,
c'est génial, exactement ce que désirais.
Le VBA, je m'y connais juste un peu en utilisant seulemnt l'enregistreur de macro.
J'aimerais en savoir plus sur l'utilisation des macros.
Encore une fois de plus Merci infiniment à toi et à toute la communauté.
C'est ce que fait le dernier fichier que job75 (Bonjour, Gérard 🙂 ).
J'avais pour ma part pris une autre direction pour éviter les macros : Un E pour entrée affichait en vert les bouteilles présentes, et un S pour Sortie affichait en rouge les bouteilles absentes.
Ce fichier (2) est mieux car il permet les effacements multiples :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountA(Target) = 0 Then Exit Sub 'permet les effacements multiples
Application.EnableEvents = False
If Target.Count > 1 Then Application.Undo: GoTo 1 'évite les entrées multiples
With [A4].CurrentRegion
If Not Intersect(Target, .Columns(3)) Is Nothing Then
.Columns(4).Replace Target, "", xlWhole
ElseIf Not Intersect(Target, .Columns(4)) Is Nothing Then
.Columns(3).Replace Target, "", xlWhole
End If
End With
1 Application.EnableEvents = True
End Sub
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD