Je dois mettre à jour un tableau avec un export mensuel.
il arrive que de nouveaux enregistrements apparaissent et je doit les
ajouter.
Je pensait faire une fonction recherchev, un filtre affichant les #N/A.
et copier le résultat.
j'ai deux pb :
quelle code permet de se déplacer d'une ligne visible à une autre ligne
visible ?
Comment je peux tester que le résultat n'est pas une liste vide ?
Merci.
PS : je n'utilise certainement pas la méthode la plus simple. je suis
preneur pour toutes suggestion.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anomymousA
bonjour,
je te propose la procédure suivante une fois que tu as appliqué ton recherchev.Au passage, cette manière de faire n'est pas mal sous réserve d'être bien certain de la non concordance de données.
Sub compte()
On Error GoTo errhandler Set plagefiltre = ActiveSheet.AutoFilter.Range Set plagefiltrevisible = plagefiltre.Offset(1, 0).Resize(plagefiltre.Rows.Count - 1, plagefiltre.Columns.Count).SpecialCells(xlCellTypeVisible)
For Each c In plagefiltrevisible
If c.Column = 5 Then c.Select MsgBox c.Value End If
Next
Exit Sub
errhandler: Err.Clear MsgBox "Pas de cellules visibles"
End Sub
Dans cet exemple, je t'indique comment faire référence à ta plage à filtrer (Set plagefiltre = ActiveSheet.AutoFilter.Range) ce qui suppose donc que tu aies un filtre en action. Puis comment activer seulement les cellules visibles après filtre( Set plagefiltrevisible = plagefiltre.Offset(1, 0).Resize(plagefiltre.Rows.Count - 1, plagefiltre.Columns.Count).SpecialCells(xlCellTypeVisible) ) . Je suppose par ailleurs que tu as une ligne d'entête - interet du offset et du resize dans l'instruction)
Enfin, je demande à Excel de regarder toutes les cellules de la plage visible en faisant une boucle for next et de ne s'interesser qu'aux cellules de la colonne 5 de la plage visible (If c.Column = 5 ).
Tu changes le N° de colonne si ce n'est pas celle-ci que tu veux scruter.
Enfin, pour parer l'eventualité d'une plage filtrée vide, on gère l'erreur par l'instruction en tête de procédure (On Error GoTo errhandler).
A+
Salut à toutes et à tous et bonne année 2005,
Je dois mettre à jour un tableau avec un export mensuel. il arrive que de nouveaux enregistrements apparaissent et je doit les ajouter.
Je pensait faire une fonction recherchev, un filtre affichant les #N/A. et copier le résultat.
j'ai deux pb : quelle code permet de se déplacer d'une ligne visible à une autre ligne visible ? Comment je peux tester que le résultat n'est pas une liste vide ?
Merci.
PS : je n'utilise certainement pas la méthode la plus simple. je suis preneur pour toutes suggestion.
GG
bonjour,
je te propose la procédure suivante une fois que tu as appliqué ton
recherchev.Au passage, cette manière de faire n'est pas mal sous réserve
d'être bien certain de la non concordance de données.
Sub compte()
On Error GoTo errhandler
Set plagefiltre = ActiveSheet.AutoFilter.Range
Set plagefiltrevisible = plagefiltre.Offset(1,
0).Resize(plagefiltre.Rows.Count - 1,
plagefiltre.Columns.Count).SpecialCells(xlCellTypeVisible)
For Each c In plagefiltrevisible
If c.Column = 5 Then
c.Select
MsgBox c.Value
End If
Next
Exit Sub
errhandler:
Err.Clear
MsgBox "Pas de cellules visibles"
End Sub
Dans cet exemple, je t'indique comment faire référence à ta plage à filtrer
(Set plagefiltre = ActiveSheet.AutoFilter.Range) ce qui suppose donc que tu
aies un filtre en action.
Puis comment activer seulement les cellules visibles après filtre( Set
plagefiltrevisible = plagefiltre.Offset(1, 0).Resize(plagefiltre.Rows.Count -
1, plagefiltre.Columns.Count).SpecialCells(xlCellTypeVisible) )
. Je suppose par ailleurs que tu as une ligne d'entête - interet du offset
et du resize dans l'instruction)
Enfin, je demande à Excel de regarder toutes les cellules de la plage
visible en faisant une boucle for next et de ne s'interesser qu'aux cellules
de la colonne 5 de la plage visible (If c.Column = 5 ).
Tu changes le N° de colonne si ce n'est pas celle-ci que tu veux scruter.
Enfin, pour parer l'eventualité d'une plage filtrée vide, on gère l'erreur
par l'instruction en tête de procédure (On Error GoTo errhandler).
A+
Salut à toutes et à tous et bonne année 2005,
Je dois mettre à jour un tableau avec un export mensuel.
il arrive que de nouveaux enregistrements apparaissent et je doit les
ajouter.
Je pensait faire une fonction recherchev, un filtre affichant les #N/A.
et copier le résultat.
j'ai deux pb :
quelle code permet de se déplacer d'une ligne visible à une autre ligne
visible ?
Comment je peux tester que le résultat n'est pas une liste vide ?
Merci.
PS : je n'utilise certainement pas la méthode la plus simple. je suis
preneur pour toutes suggestion.
je te propose la procédure suivante une fois que tu as appliqué ton recherchev.Au passage, cette manière de faire n'est pas mal sous réserve d'être bien certain de la non concordance de données.
Sub compte()
On Error GoTo errhandler Set plagefiltre = ActiveSheet.AutoFilter.Range Set plagefiltrevisible = plagefiltre.Offset(1, 0).Resize(plagefiltre.Rows.Count - 1, plagefiltre.Columns.Count).SpecialCells(xlCellTypeVisible)
For Each c In plagefiltrevisible
If c.Column = 5 Then c.Select MsgBox c.Value End If
Next
Exit Sub
errhandler: Err.Clear MsgBox "Pas de cellules visibles"
End Sub
Dans cet exemple, je t'indique comment faire référence à ta plage à filtrer (Set plagefiltre = ActiveSheet.AutoFilter.Range) ce qui suppose donc que tu aies un filtre en action. Puis comment activer seulement les cellules visibles après filtre( Set plagefiltrevisible = plagefiltre.Offset(1, 0).Resize(plagefiltre.Rows.Count - 1, plagefiltre.Columns.Count).SpecialCells(xlCellTypeVisible) ) . Je suppose par ailleurs que tu as une ligne d'entête - interet du offset et du resize dans l'instruction)
Enfin, je demande à Excel de regarder toutes les cellules de la plage visible en faisant une boucle for next et de ne s'interesser qu'aux cellules de la colonne 5 de la plage visible (If c.Column = 5 ).
Tu changes le N° de colonne si ce n'est pas celle-ci que tu veux scruter.
Enfin, pour parer l'eventualité d'une plage filtrée vide, on gère l'erreur par l'instruction en tête de procédure (On Error GoTo errhandler).
A+
Salut à toutes et à tous et bonne année 2005,
Je dois mettre à jour un tableau avec un export mensuel. il arrive que de nouveaux enregistrements apparaissent et je doit les ajouter.
Je pensait faire une fonction recherchev, un filtre affichant les #N/A. et copier le résultat.
j'ai deux pb : quelle code permet de se déplacer d'une ligne visible à une autre ligne visible ? Comment je peux tester que le résultat n'est pas une liste vide ?
Merci.
PS : je n'utilise certainement pas la méthode la plus simple. je suis preneur pour toutes suggestion.