cellules vides

maguetlolo

XLDnaute Junior
Bonjour,

j'ai une macro qui fusionne les lignes si les cellules des colonnes D et E sont identiques, mais il comptes les cellules vide comme doublons et les fusionne, existe t'il un code pour qu'il ne compte pas les cellules vides comme identique, ou qu'il passe a la ligne suivante si il en rencontre.:confused:

merci
 

maguetlolo

XLDnaute Junior
Re : cellules vides

Bonjour

peux tu me dire comment la mettre car je n'y arrive pas
en plus, il y a deja une phrase qui y ressemble, est-ce la même? si c'est le cas, ca ne marche pas.

Code:
Sub FusionLignes()
Dim i As Integer, j As Integer, Lig As Integer, Tablo
With Sheets("Feuil1")
Lig = .Range("A65536").End(xlUp).Row
Tablo = .Range("A2:E" & Lig)
For i = 1 To Lig - 2
[COLOR="Red"]If Tablo(i, 1) <> "" Then[/COLOR]

    For j = i + 1 To Lig - 1
    If Tablo(j, 1) <> "" Then
        If Tablo(j, 4) = Tablo(i, 4) And Tablo(j, 5) = Tablo(i, 5) Then
        Tablo(i, 2) = Tablo(i, 2) + Tablo(j, 2)
        Tablo(j, 1) = "": Tablo(j, 2) = "": Tablo(j, 3) = "": Tablo(j, 4) = "": Tablo(j, 5) = ""
        End If
    End If
    Next j
End If
Next i
.Range("A2:E" & Lig) = Tablo
.Range("A2:E" & Lig).Sort Key1:=Range("A2"), Order1:=xlAscending
End With
End Sub


merci
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : cellules vides

Bonjour,

Remplacez le 1er test (en rouge dans votre code) par :

If Tablo(i, 1) <> "" And Tablo(i, 4) <> "" And Tablo(i, 5) <> "" Then

Une remarque sur votre macro : pourquoi utiliser la variable Tablo ? Il serait plus simple de travailler directement sur les cellules en utilisant .Cells(i, ...) et .Cells(j, ...). La ligne à effacer s'écrirait :

.Range(.Cells(j, 1), .Cells(j, 5)) = ""

A+
 

maguetlolo

XLDnaute Junior
Re : cellules vides

bonjour

en fait, je ne sait pas, la macro n'est pas de moi bien sur, et j'avoue que j'ai essayer de la comprendre mais que je n'ai pas le niveau, cependant si tu as une solutio qui fonctionne mieux et est plus rapide, je ne demande que ca.

je te joint un fichier pour essai ( le fichier original est bcp trop gros, et a savoir, le nombre le lignes peut arriver a plus de 5000)


oublier de preciser:

il faut fusionner les lignes qui ont cellule D et E identique
garder la date de la premiere ligne qui est fusionner
additionner les durée des lignes fusionnées
ne pas fusionner des qu'il y a une case vide en D ou E
 

Pièces jointes

  • fusion.zip
    22.8 KB · Affichages: 16
  • fusion.zip
    22.8 KB · Affichages: 14
  • fusion.zip
    22.8 KB · Affichages: 15
Dernière édition:

Discussions similaires

Réponses
4
Affichages
286

Statistiques des forums

Discussions
312 827
Messages
2 092 555
Membres
105 451
dernier inscrit
mariane_lp