Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/02/2010, 16h08   #1
Membre du Club
 
Dominique Martin
Inscription : août 2009
Messages : 84
Détails du profil
Informations personnelles :
Nom : Dominique Martin
Âge : 50
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : août 2009
Messages : 84
Points : 60
Points : 60
Par défaut Effacer le bon doublon

Bonjour à tous,

voila j'ai une zone de test avec dedans une cellule X celX. Dans la même zone, si je tape une valeur identique dans ma cellule active CelA, je veux garder la valeur de ma cellule active et effacer celle de la cellule X.

le problème c'est que comme mes 2 cellules sont dans la zone test, mon code efface les deux valeurs.

si je met ma cellule active celA en dehors de la zone test il fonctionne
voici le code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 If confirmation = vbNo Then
      Set celA = ActiveCell  'celA = dernière cellule saisie
      Set ZoneTest = Union(Range("D11:D17"), Range("D19:D37"), Range("J11:J17"), Range("J19:J49"), Range("K19:K46"), _
           Range("D62:D68"), Range("D70:D88"), Range("J62:J68"), Range("J70:J100"), Range("K70:k97"), _
           Range("D113:D119"), Range("D121:D139"), Range("J113:J119"), Range("J121:J151"), Range("K121:K148"))
 
      For Each celX In ZoneTest                              'celA et CelX sont dans zonetest
        If celX.Value <> "" Then
                                                               'cherche si celA = une cellule déjà saisie: celX
          If celA.Value = celX.Value Then celX.ClearContents   'doit effacer celX et garder celA
          celA.Interior.ColorIndex = 4                         'marqueur vert celA
          End If
          Next celX
 
       End If
 
    Set ZoneTest = Nothing
    Set celA = Nothing
    TextBox2 = 0
 
End If
Merci de votre aide

Dom
Domimart est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2010, 16h36   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 443
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 443
Points : 12 752
Points : 12 752
Code :
If celA.Value = celX.Value and celA.address<>celX.address Then celX.ClearContents
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2010, 16h43   #3
Membre du Club
 
Dominique Martin
Inscription : août 2009
Messages : 84
Détails du profil
Informations personnelles :
Nom : Dominique Martin
Âge : 50
Localisation : France, Marne (Champagne Ardenne)

Informations forums :
Inscription : août 2009
Messages : 84
Points : 60
Points : 60
re bonjour Mercatog

Impeccable ça marche, je n'avais pas pensé à mettre une adresse de cellule différente...

Merci encore Mercatog pour tes nombreux coups de main

Bon Forum à tous

Dom

Dernière modification par AlainTech ; 23/04/2010 à 17h31. Motif: Fusion de 2 messages
Domimart est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 05h46.


 
 
 
 
Partenaires

Hébergement Web