Isab
XLDnaute Occasionnel
Bonjour et merci de m'aider,
J'utilise Excel 2007 mais le document sera utilisé aussi sur Excel 2003.
je suis débutante en Excel. ( je le resterai lentemps à mon avis)
Mon souci est:
J'ai la feuille/onglet " données" avec des informations que je rentre avec un surform ..
Je filtre ensuite cette table au moyen d'une macro Worksheet_Activate (dans feuil2) le resultat se voit apparaitre dans la "feuil2"
Cela fonctionne très bien, les lignes sont en harmonie et les modifications correctement portées. mon problème c'est au moment de la suppression. Etant donnée que le filtre est construit sur une plage (partie de chaque ligne et non toute la ligne).
En effet quand je supprime une ligne dans la feuille de départ "donnée" je souhaire que la ligne entière soit supprimée dans la feuille2 et non seulement la plage filtrée précédement.. sans quoi les données seraient dissymétriques
Merci de me proposer vos idées sur ce problème mais aussi ne pas hesiter à corriger ou apporter des ameliorations ..gestion erreur et autres...
Mon code:
Private Sub Worksheet_Activate()
Dim DerLig As Long
Dim Fbase As Worksheet
On Error Resume Next
ActiveSheet.ShowAllData
Set Fbase = Sheets("Données") ' onglet contenant les données
With Fbase
DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row 'calcul de la dernière ligne
.Range("B15:E" & DerLig). _
AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("B15:E15"), Unique:=False
End With
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Ci_joint un fichier d'exemple..en espérant avoir bien expliqué et bien atache mon fichier..
J'utilise Excel 2007 mais le document sera utilisé aussi sur Excel 2003.
je suis débutante en Excel. ( je le resterai lentemps à mon avis)
Mon souci est:
J'ai la feuille/onglet " données" avec des informations que je rentre avec un surform ..
Je filtre ensuite cette table au moyen d'une macro Worksheet_Activate (dans feuil2) le resultat se voit apparaitre dans la "feuil2"
Cela fonctionne très bien, les lignes sont en harmonie et les modifications correctement portées. mon problème c'est au moment de la suppression. Etant donnée que le filtre est construit sur une plage (partie de chaque ligne et non toute la ligne).
En effet quand je supprime une ligne dans la feuille de départ "donnée" je souhaire que la ligne entière soit supprimée dans la feuille2 et non seulement la plage filtrée précédement.. sans quoi les données seraient dissymétriques
Merci de me proposer vos idées sur ce problème mais aussi ne pas hesiter à corriger ou apporter des ameliorations ..gestion erreur et autres...
Mon code:
Private Sub Worksheet_Activate()
Dim DerLig As Long
Dim Fbase As Worksheet
On Error Resume Next
ActiveSheet.ShowAllData
Set Fbase = Sheets("Données") ' onglet contenant les données
With Fbase
DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row 'calcul de la dernière ligne
.Range("B15:E" & DerLig). _
AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("B15:E15"), Unique:=False
End With
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Ci_joint un fichier d'exemple..en espérant avoir bien expliqué et bien atache mon fichier..