Re : Filtre en vba
bon j'ai encore avancé un peu
le tri ( masquage des lignes contenant "r" de la feuille"CIC") ne fonctionne pas lorsque je clic sur OK de la feuille "Equilibrage" voici mon vba :
Private Sub CommandButton1_Click()
' copie si l'Equilibrage est OK
Dim Lequ As Long
If Sheets("Equilibrage").Cells(5, 11) = "0" Then
With Sheets("Equilibrage")
For Lequ = 1 To .[a65000].End(xlUp).Row
If .Cells(Lequ, 5) = "p" Then
With Sheets("CIC")
ligne = .[a65000].End(xlUp).Row + 1
Sheets("Equilibrage").Cells(Lequ, 1).Cut .Cells(ligne, 1)
Sheets("Equilibrage").Cells(Lequ, 2).Cut .Cells(ligne, 2)
Sheets("Equilibrage").Cells(Lequ, 3).Cut .Cells(ligne, 3)
Sheets("Equilibrage").Cells(Lequ, 4).Cut .Cells(ligne, 4)
Sheets("Equilibrage").Cells(Lequ, 5).Cut .Cells(ligne, 5)
Sheets("Equilibrage").Cells(Lequ, 6).Cut .Cells(ligne, 6)
Sheets("Equilibrage").Cells(Lequ, 7).Cut .Cells(ligne, 7)
ligne = ligne + 1
End With
ElseIf .Cells(Lequ, 5) = "" Then
With Sheets("CIC")
ligne = .[a65000].End(xlUp).Row + 1
Sheets("Equilibrage").Cells(Lequ, 1).Cut .Cells(ligne, 1)
Sheets("Equilibrage").Cells(Lequ, 2).Cut .Cells(ligne, 2)
Sheets("Equilibrage").Cells(Lequ, 3).Cut .Cells(ligne, 3)
Sheets("Equilibrage").Cells(Lequ, 4).Cut .Cells(ligne, 4)
Sheets("Equilibrage").Cells(Lequ, 5).Cut .Cells(ligne, 5)
Sheets("Equilibrage").Cells(Lequ, 6).Cut .Cells(ligne, 6)
Sheets("Equilibrage").Cells(Lequ, 7).Cut .Cells(ligne, 7)
ligne = ligne + 1
End With
ElseIf .Cells(Lequ, 5) = "r" Then
With Sheets("CIC")
ligne = .[a65000].End(xlUp).Row + 1
Sheets("Equilibrage").Cells(Lequ, 1).Cut .Cells(ligne, 1)
Sheets("Equilibrage").Cells(Lequ, 2).Cut .Cells(ligne, 2)
Sheets("Equilibrage").Cells(Lequ, 3).Cut .Cells(ligne, 3)
Sheets("Equilibrage").Cells(Lequ, 4).Cut .Cells(ligne, 4)
Sheets("Equilibrage").Cells(Lequ, 5).Cut .Cells(ligne, 5)
Sheets("Equilibrage").Cells(Lequ, 6).Cut .Cells(ligne, 6)
Sheets("Equilibrage").Cells(Lequ, 7).Cut .Cells(ligne, 7)
ligne = ligne + 1
End With
End If
Next
End With
With Sheets("CIC")
Application.ScreenUpdating = False
Application.DisplayAlerts = False
.Activate
.[a65000].End(xlUp).Select
'supprime les lignes si la premiere celulle est vide
Do
If IsEmpty(ActiveCell) Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(-1, 0).Select
Loop Until ActiveCell.Row = 1
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Dim LignR
' masque les lignes avec r
For LignR = Range("A65536").End(xlUp).Row To 5 Step -1
If Cells(LignR, 5) = "r" Then Rows(LignR).Hidden = True
Next
End With
End If
End Sub
pourtant il fonctionne lorsque je clique sur le bouton de la feuille "CIC" dont voici le VBA
Private Sub CommandButton1_Click()
For LignR = Range("A65536").End(xlUp).Row To 5 Step -1
If Cells(LignR, 5) = "r" Then Rows(LignR).Hidden = True
Next
End Sub
la je commence à bien coincer et je n'ai pas de message d'erreur
est ce que quelqu'un peu m'aider?
merci