Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ne visualiser les plages non vides

1 réponse
Avatar
ManBas
Bonjour,
Je travaille sur une application "hebdomadaire": remise à zéro chaque
semaine (un programme, quoi!)
Pour chaque jour, 1 feuille protégée.
Pour chaque feuille, 12 plages de cellules dévérouillées qu'il faut remplir
(ou pas, c'est selon les besoins). Par exemple: a3:t3, a4:t4, a5:t5...
Le lundi pourra avoir les 12 plages remplies, et aucune le mardi, et
inversement une autre semaine, ou certaines plages et pas toutes.

Je souhaiterais insérer une dernière feuille qui rassemblerait l'ensemble
des plages des autres feuilles: le résumé de la semaine (les plages du
lundi, les plages du mardi, les plages du mercredi,...etc...).

La contrainte pour ce résumé: n'afficher que les plages de cellules non
vides, afin d'obtenir un document concis en évitant une longue liste
émaillée de lignes vides entre les jours de la semaine, autant pour la
lecture à l'écran que pour l'impression papier.
Quelle(s) solution(s) envisageriez-vous?
Merci infiniment de vos suggestions.

1 réponse

Avatar
Daniel
Bonjour.
Je te propose le code suivant. J'ai baptisé "Recap" la feuille résumé.
Sub Recopie()
Dim Feuil As Integer, CtrLigne As Integer, NbreCellulesNonVides As
Integer
CtrLigne = 1
Feuil = 1
' Traitement de toutes les feuilles
For Feuil = 1 To Sheets.Count
Sheets(Feuil).Activate
If ActiveSheet.Name <> "Recap" Then
' Sauf la feuille "Recap"
'Traitement de la ligne 3 à la dernière ligne (possibilité de
sélectionner)
For i = 3 To ActiveCell.SpecialCells(xlLastCell).Row
Range("A" & i, "T" & i).Select
'Vérification que la plage n'est pas vide
NbreCellulesNonVides = 0
For Each c In Selection
If c.Value <> "" Then
NbreCellulesNonVides = NbreCellulesNonVides + 1
End If
Next c
' Copie si la plage 'est pas vide
If NbreCellulesNonVides <> 0 Then
Worksheets("Recap").Range("A" & CtrLigne, "T" &
CtrLigne) = Selection.Value
CtrLigne = CtrLigne + 1
End If
Next i
End If
Next Feuil
End Sub
Cordialement.
Daniel
"ManBas" a écrit dans le message de news:
O$
Bonjour,
Je travaille sur une application "hebdomadaire": remise à zéro chaque
semaine (un programme, quoi!)
Pour chaque jour, 1 feuille protégée.
Pour chaque feuille, 12 plages de cellules dévérouillées qu'il faut
remplir (ou pas, c'est selon les besoins). Par exemple: a3:t3, a4:t4,
a5:t5...
Le lundi pourra avoir les 12 plages remplies, et aucune le mardi, et
inversement une autre semaine, ou certaines plages et pas toutes.

Je souhaiterais insérer une dernière feuille qui rassemblerait l'ensemble
des plages des autres feuilles: le résumé de la semaine (les plages du
lundi, les plages du mardi, les plages du mercredi,...etc...).

La contrainte pour ce résumé: n'afficher que les plages de cellules non
vides, afin d'obtenir un document concis en évitant une longue liste
émaillée de lignes vides entre les jours de la semaine, autant pour la
lecture à l'écran que pour l'impression papier.
Quelle(s) solution(s) envisageriez-vous?
Merci infiniment de vos suggestions.