XL 2010 Suppression d'une cellule en double sur une même ligne

  • Initiateur de la discussion Initiateur de la discussion DUPRAZ
  • Date de début Date de début

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 !

DUPRAZ

XLDnaute Nouveau
Bonjour à tous,
Je vous soumets mon problème qui vous paraitra certainement trivial mais je n'y arrive pas.
Voilà, j'ai un tableau avec 6 colonnes (Spe1/Spe2/Spe3/Spe_adandon/Spe_cons1/Spe_cons2), j'aimerai, sur chaque ligne comparer Spe1 avec Spe_abandon si égal on ecrit Spe2 en Spe_cons1 et Spe3 en Spe_cons2 sinon on compare spe2 avec spe_abandon de même si égale on ecrit Spe1 en Spe_cons1 et Spe3 en Spe_cons2 sinon on on ecrit Spe1 en Spe_cons1 et Spe2 en Spe_cons2. Je souhaite faire cela sur les 1000 lignes de mon tableau.
Vous trouverez en PJ un fichier qui illustre sur 4 lignes ce que je souhaite obtenir.
Merci d'avance à tous pour l'aide que vous pourrez m'apporter.
Très cordialement
 

Pièces jointes

Solution
Bonjour Duparz, bonjour le forum,

Énoncé imbuvable !... Exemple qui ne provoque pas de changement!... Tu nous aides pas beaucoup.
Essaie ça :

VB:
Sub Macro1()
Dim O As Worksheet
Dim TV As Variant

Set O = Worksheets("Feuil1")
TV = O.Range("A1").CurrentRegion
For i = 2 To UBound(TV, 1)
    If TV(i, 1) = TV(i, 4) Then
        TV(i, 5) = TV(i, 2)
        TV(i, 6) = TV(i, 3)
    Else
        If TV(i, 2) = TV(i, 4) Then
            TV(i, 5) = TV(i, 1)
            TV(i, 6) = TV(i, 3)
        Else
            TV(i, 5) = TV(i, 1)
            TV(i, 6) = TV(i, 2)
        End If
    End If
Next i
O.Range("A1").Resize(UBound(TV, 1), UBound(TV, 2)).Value = TV
End Sub
Bonjour Duparz, bonjour le forum,

Énoncé imbuvable !... Exemple qui ne provoque pas de changement!... Tu nous aides pas beaucoup.
Essaie ça :

VB:
Sub Macro1()
Dim O As Worksheet
Dim TV As Variant

Set O = Worksheets("Feuil1")
TV = O.Range("A1").CurrentRegion
For i = 2 To UBound(TV, 1)
    If TV(i, 1) = TV(i, 4) Then
        TV(i, 5) = TV(i, 2)
        TV(i, 6) = TV(i, 3)
    Else
        If TV(i, 2) = TV(i, 4) Then
            TV(i, 5) = TV(i, 1)
            TV(i, 6) = TV(i, 3)
        Else
            TV(i, 5) = TV(i, 1)
            TV(i, 6) = TV(i, 2)
        End If
    End If
Next i
O.Range("A1").Resize(UBound(TV, 1), UBound(TV, 2)).Value = TV
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

Discussions similaires

Retour