liste(s) déroulante(s) et suppression automatique

smirnoff

XLDnaute Nouveau
Bonjour à toutes et à tous,

Ma question est assez simple.
J'ai une liste déroulante, elle est constituée d'élément a,b,c,d,e,f, etc...
Y-a-t-il moyen pour que la sélection s'efface automatiquement d'une case lorsque dans une autre je met la même chose?
Exemple: en A j'ai "a", en B j'ai "b". Mais si je mets "a" en F, alors ce qu'il y avait en A est alors effacé.
Je vous remercie par avance pour vos réponses

Cordialement,

Smirnoff
 

are

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

Ne t'en fais, j'ai mis le fichier en PJ. Il ne plante pas
Si je peux me permettre c'est quand même assez risqué l'histoire de l'effacement, ereur manuel et aucun moyen de récupérer la donnée --pourquoi pas mettre la ligne d'une couleur différente ?
 

Pièces jointes

  • Nouveau tableau gestion équipements anonyme .xlsm
    105.3 KB · Affichages: 27

are

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

Ok, je parle des données comme date d'attribution (pour cela que dans les messages précédents je te demandais si tu désirais effacer toute la ligne ou juste la colonne C).

essaye cette version (j'avais encore oublié la ligne :rolleyes:)
 

Pièces jointes

  • Nouveau tableau gestion équipements anonyme.xlsm
    105.7 KB · Affichages: 29

smirnoff

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

La date d'attribution n'est pas dans "listes déroulantes" et en fait ce n'est pas grave s'il y a une fausse manip' pour ça. Cette date reste importante mais elle doit également être effacé si l'équipement bouge.
Je m'explique assez mal, je suis vraiment désolé :-/
 

are

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

Ok danc ce cas rajoute dans le code les cellules que tu désires effacer. dans celui-ci j'ai rajouté la cellule dans la colonne D adjacente(Peut-être faudrait-il rajouter les cellules dans la colonne O et P correspondante --copie colle à la suite suivant mon exemple ) . Il faut garder les formules donc on ne peut pas effacer toute la ligne


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
E = Range("A1048576").End(xlUp).Row

a = ActiveCell.Row
For i = 22 To E
If i <> a Then
If ActiveCell.Value = Range("c" & i).Value Then
Range("C" & i).Value = " "
Range("D" & i).Value = " "

End If
End If
Next
End If

End Sub
 
Dernière édition:

smirnoff

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

J'ai voulu faire quelque chose du genre :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
E = Range("A1048576").End(xlUp).Row

a = ActiveCell.Row
For i = 22 To E
If i <> a Then
If ActiveCell.Value = Range("c" & i).Value Then
Range("C" & i).Value = " "
Range("D" & i).Value = " "

a = ActiveCell.Row
For i = 22 To E
If i <> a Then
If ActiveCell.Value = Range("c" & i).Value Then
Range("I" & i).Value = " "
Range("J" & i).Value = " "

etc...

Bien entendu ça ne fonctionne pas. Je précise (mais ai-je vraiment besoin?) que je suis très gros brélon en matière de VBA.
 

are

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

Bonjour,

Pardon, j'aurais du préciser .
Ci-dessous le code

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
E = Range("A1048576").End(xlUp).Row

a = ActiveCell.Row
For i = 22 To E
If i <> a Then
If ActiveCell.Value = Range("c" & i).Value Then
Range("C" & i).Value = " "
Range("D" & i).Value = " "

End If
End If
Next
End If

End Sub

C'est dans la partie en gras que tu dois préciser les cellules que tu souhaites effacer.
Dans ton exemple tu parles des cellules des colonnes I et J.

Mise en application :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
E = Range("A1048576").End(xlUp).Row

a = ActiveCell.Row
For i = 22 To E
If i <> a Then
If ActiveCell.Value = Range("c" & i).Value Then
Range("C" & i).Value = " "
Range("D" & i).Value = " "
Range("I" & i).Value = " "
Range("J" & i).Value = " "


End If
End If
Next
End If

End Sub

Dis mois si cela marche .
 

smirnoff

XLDnaute Nouveau
Re : liste(s) déroulante(s) et suppression automatique

Impossible d'enlever les onglets vu qu'ils sont essentiels pour les listes déroulantes.
En fait le code ne fait plus rien du tout. Si je mets EX12 dans une case autre que agence, il existe toujours dans le case "agence" et dans l'autre case (alors que ce n'était pas le cas au tout début).
Après pour les numéros de NH3, de téléphones, etc.... ça revient exactement pareil.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
E = Range("A1048576").End(xlUp).Row

a = ActiveCell.Row
For i = 22 To E
If i <> a Then
If ActiveCell.Value = Range("c" & i).Value Then
Range("C" & i).Value = " "
Range("D" & i).Value = " "
Range("I" & i).Value = " "
Range("J" & i).Value = " "
Range("O" & i).Value = " "
Range("P" & i).Value = " "
Range("S" & i).Value = " "
Range("T" & i).Value = " "
Range("V" & i).Value = " "
Range("W" & i).Value = " "
Range("Y" & i).Value = " "
Range("Z" & i).Value = " "
Range("AC" & i).Value = " "
Range("AD" & i).Value = " "
Range("AH" & i).Value = " "
Range("AI" & i).Value = " "
Range("AM" & i).Value = " "
Range("AN" & i).Value = " "
Range("AQ" & i).Value = " "
Range("AR" & i).Value = " "
Range("AU" & i).Value = " "
Range("AR" & i).Value = " "
Range("AU" & i).Value = " "
Range("AV" & i).Value = " "
Range("AZ" & i).Value = " "
Range("BA" & i).Value = " "
Range("BB" & i).Value = " "
Range("BC" & i).Value = " "
Range("BD" & i).Value = " "
Range("BE" & i).Value = " "
Range("BH" & i).Value = " "
Range("BI" & i).Value = " "

End If
End If
Next
End If

End Sub
 

Discussions similaires

Réponses
2
Affichages
287
Réponses
8
Affichages
441

Statistiques des forums

Discussions
312 276
Messages
2 086 713
Membres
103 377
dernier inscrit
fredy45