Besion d'aide sur un code VBA

  • Initiateur de la discussion Initiateur de la discussion roum1
  • 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 !

R

roum1

Guest
Bonjour à toutes et à tous,
Je ne comprend pas pourquoi mon code ne marche pas. A priori c'est au niveau de la supression des lignes vides!!

Code:
[COLOR="Green"]'Je copie colle une grande plage avec beaucoup de de lignes vides[/COLOR]
Sheets("Client").Range("B20:F767").Copy
Sheets("Suivi").Range("A16").PasteSpecial Paste:=xlPasteAll

[COLOR="green"]'je veux supprimer les lignes vides[/COLOR]
For l = 16 To 767
If Sheets("Suivi").Cells(l, 2) = "" Then
Sheets("Suivi").Rows(l).Delete
End If
Next

[COLOR="green"]'je compte les lignes remplies remplies pour ne pas a effectuer une boucle (voir plus bas) sur la plage 16 to 767[/COLOR]
compteur = 0
For k = 16 To 767
If Sheets("Suivi").Cells(k, 2) = "" Then
compteur = compteur + 1
End If
Next
[COLOR="green"]
'au maximum tout est rempli je compte donc les cellules vides et je soustrais sur la plage[/COLOR]
celluleremplie = 767 - 16 - compteur

[COLOR="green"]'Les lignes de code suivantes trient le tableaux dans l'ordre croissant.[/COLOR]
Sheets("suivi").Range(Cells(16, 1), Cells(celluleremplie + 16, 11)).Sort Key1:=Range("D16"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
          

[COLOR="green"]'Les lignes de code suivantes additionne les quantités offres et les quantités commandées si il y a plusieurs lignes de types de matériel identiques.[/COLOR]
For j = 1 To 15 [COLOR="green"]'15 lignes de type de matériel identiques possible.[/COLOR]
    For i = 16 To celluleremplie + 16
        If Cells(i, 4) = Cells(i + 1, 4) Then
        Cells(i, 6) = Cells(i, 6) + Cells(i + 1, 6) [COLOR="green"]'additionne les quantités[/COLOR]
        Cells(i, 7) = Cells(i, 7) + Cells(i + 1, 7) [COLOR="green"]'additionne les quantités offres[/COLOR]
        Worksheets("suivi").Rows(i + 1).Delete [COLOR="green"]'supprime les lignes identiques[/COLOR]
    End If
    Next
Next

[COLOR="green"]'Les lignes de code suivantes trient le tableau dans l'odre croissant selon la marque du matériel.[/COLOR]
Sheets("suivi").Range(Cells(16, 1), Cells(celluleremplie + 16, 11)).Sort Key1:=Range("A16"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal


Pleeeease !! Help me !!
 
Re : Besion d'aide sur un code VBA

Bonjour le Fil et le Forum
pour effacer tes ligne vides, il faut partir du bas

'je veux supprimer les lignes vides
For l = 767 To 16 step -1
If Sheets("Suivi").Cells(l, 2) = "" Then
Sheets("Suivi").Rows(l).Delete
End If
Next

Bon courage et à +
Denis
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
914
Réponses
15
Affichages
788
Réponses
4
Affichages
756
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
3
Affichages
923
Réponses
2
Affichages
772
Retour