OVH Cloud OVH Cloud

comparaison entre deux tableaux

1 réponse
Avatar
gg
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

1 réponse

Avatar
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