élimination des 0 ou vides

Fermé
ltnemesis Messages postés 4 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 6 août 2010 - 1 oct. 2009 à 16:46
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 1 oct. 2009 à 22:12
Bonjour,
J'ai un classeur avec plusieurs feuilles.
Je voudrais faire une sorte de sommaire de ces infos en reprenant sur une seule feuille celles des autres.
J'ai des numéro de lieux en A dans chaque feuille.
Je voudrais que dans ma feuille de sommaire, il y ait la liste des lieux des autres feuilles sans cases vides et sans 0.
Savez-vous comment procéder pour que ce soit automatique lorsqu'on remplit une feuille?
ex: je rajoute un lieu dans la feuille 1, eil s'inscrit automatiquement dans mon sommaire.
Par la suite, je rapatrierai les info qui ont trait à chaque lieu avec index et equiv.

Merci d'avance

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 685
1 oct. 2009 à 22:12
bonjour

Comme tu utilises plusieurs feuilles, pour faire ton sommaire avec des formules, cela me parait très compliqué pour ne pas dire impossible.

Je te propose de mettre une macro événementielle dans ta feuille sommaire (mode d'emploi éventuel) qui te mettra à jour ton sommaire à chaque fois que tu afficheras l'onglet.

Private Sub Worksheet_Activate()
Dim f As Integer
Dim l As Long
Dim p As Long
p = 2
Application.ScreenUpdating = False
For f = 1 To Sheets.Count
    If Sheets(f).Name <> ActiveSheet.Name Then
        For l = 2 To Sheets(f).UsedRange.Rows.Count
            If Sheets(f).Cells(l, 1).Value > 0 Then
                Sheets(f).Rows(l).Copy Destination:=Cells(p, 1)
                p = p + 1
            End If
        Next l
    End If
Next f
End Sub

J'ai considéré que ta première ligne de chaque feuille était la ligne du nom des rubriques (d'où le 2 gras)
0