IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Probleme en VBA Excel : supprimer une ligne doublante


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Probleme en VBA Excel : supprimer une ligne doublante
    Bonjour à tous,
    Je suis debutant en VBA, J’ai écris un programme en VBA (Excel), j’essais de supprimer les lignes qui contiennes des données identiques dans les colonnees B et C). Si cela n'est pas possible alors, j'accepte chaque methode pour supprimer une ligne doublante.

    Pouvez-vous m’aider à trouver la solution SVP ???

    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub Delete_Double_Linges_3() 
     
    Dim Projet1 As Range 
    Dim Phase1 As Range 
     
    Dim Projet1_line_suivante As Range 
    Dim Phase2_line_suivante As Range 
     
    Dim lines As Integer 
     
     
    ' Un tri sur la colonne D3 (Date) 
     
    Worksheets("Courant-1").Range("D3").Sort _ 
    Key1:=Worksheets("Courant-1").Range("D3"), _ 
    Order1:=xlDescending, Header:=xlGuess 
     
    Set Projet1 = Sheets("Courant-1").Cells(1, 2) 
    Set Phase1 = Sheets("Courant-1").Cells(1, 3) 
     
     
    lines = 1 
     
    Lines_Suivante: 
     
     
    Do While Not IsEmpty(Projet1) 
    lines = lines + 1 
     
    Set Projet1_line_suivante = Sheets("Courant-1").Cells(lines, 2) 
     
    Set Phase1_line_suivante = Sheets("Courant-1").Cells(lines, 3) 
     
     
    If Projet1.Value = Projet1_line_suivante.Value And Phase1.Value = Phase1_line_suivante.Value Then 
     
    Projet1.EntireRow.Delete 
     
    GoTo Lines_Suivante 
     
     
    End If 
     
    Projet1 = Projet1_line_suivante 
    Phase1 = Phase1_line_suivante 
    GoTo Lines_Suivante 
     
     
    Loop 
     
    End Sub

  2. #2
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 103
    Points
    103
    Par défaut
    Bonjour
    je n'ai pas essayé le rpogramme, maistu peux essayer ce programme là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'on va commencer par compter le nombre de ligne en supposant que ta liste commence à la ligne 2 et qu'il  n'y a pas de valeur manquante dans la colonne A
    ligne=2
    while worksheets("Courant-1").cells(ligne,1)<>"" 
    ligne=ligne+1
    wend
     
    'on compare ligen  à ligne et on supprime s'il y a doublon
    for i=3 to ligne
    if worksheets("courant-1").cells(i,2)=worksheets("Courant-1").cells(i-1,2) or worksheets("Courant-1").cells(i,3) =worksheets("courant-1").cells(i-1,3) then
    worksheets("Courant-1").range(i).select
    selection.delete
    end if
    next i


  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Une autre solution couplant les formules et le vba

    dans une colonne inserer la formule
    Dans la colonne de droite a celle contenant la formule ci dessus
    Puis dans une sub de la feuille
    Ce code supprimera les doublons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Dim i As Double
     
    i = 2
     
    Do While Not Range("B" & i).Value = ""
     
        If Range("E" & i).Value > 1 Then
     
            Me.Rows(i).Delete
            i = i - 1
        End If
     
        i = i + 1
    Loop
    Jérôme

Discussions similaires

  1. [VBA] Comment supprimer une ligne entiere dans excel
    Par babouoles dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/07/2017, 08h34
  2. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08
  3. [VBA][Excel]supprimer des lignes vierges
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/01/2006, 13h17
  4. [VBA][Excel]Supprimer une partie du texte d'une grosse liste
    Par annedeblois dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 19/09/2005, 17h15
  5. [VBA][Excel]Insérer une ligne
    Par loverdose dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/02/2005, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo