Menu

Faire la somme des cellules visibles d'une dont certaines colonnes sont masquées [Résolu]

Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
- - Dernière réponse : Looping38
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
- 9 déc. 2018 à 16:50
Bonjour,
Je galère depuis plusieurs jours pour trouver la formules miracle.
J'ai un tableau dont les colonnes se masquent par une macro. Sur la ligne 9 de l'ensemble du tableau, j'ai écris des 1. Je souhaite faire la somme de ces 1 uniquement sur les colonnes visibles afin de décompter les colonnes restantes.

J'ai tenté de mettre une fonction associé à la macro suivante, mais j'utilise le compilateur DoneEx qui me supprime cette fonction lors de la transformation en .exe...

Function SommeVisibles(Champ As Range)
Application.Volatile
t = 0
For Each c In Champ
If Not c.EntireRow.Hidden And Not c.EntireColumn.Hidden Then
t = t + c.Value
End If
Next c
SommeVisibles = t
End Function


En langage vulgarisé, je souhaite :
somme des cellules G9 à derncol 9 uniquement sur les cellules visibles...

Si quelqu'un à un peu de temps à m'accorder?
Merci d'avance.


Configuration: Windows / Chrome 70.0.3538.110
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
91
Date d'inscription
samedi 22 octobre 2016
Dernière intervention
17 décembre 2018
1
1
Merci
Je me répond à moi-même en espérant en faire profiter.

Sur un site en anglais, j'ai trouvé ces formules : (traduit par google)

Pour sélectionner uniquement les cellules visibles dans une plage de cellules sélectionnées, vous pouvez utiliser la ligne de code suivante:

Selection.SpecialCells (xlCellTypeVisible).Select


Si vous devez travailler sur une autre plage initiale de cellules avant de sélectionner le sous-ensemble visible de ces cellules, il vous suffit de modifier la partie "Sélection" de la ligne. Par exemple, vous pouvez sélectionner les cellules visibles dans la plage utilisée de la feuille de calcul en utilisant cette ligne:

ActiveSheet.UsedRange.SpecialCells (xlCellTypeVisible).Select


De même, vous pouvez sélectionner toutes les cellules visibles de la feuille de calcul en utilisant cette ligne:

Cells.SpecialCells (xlCellTypeVisible).Select


N'oubliez pas que les techniques décrites jusqu'à présent sélectionnent toutes les cellules visibles, même si elles sont hors écran. En d'autres termes, les techniques sélectionnent les cellules non masquées de la feuille de calcul. Si vous voulez vraiment sélectionner uniquement les cellules non cachées visibles à l'écran à l'heure actuelle, vous pouvez utiliser une technique différente:

Intersection (MyRange, ActiveWindow.VisibleRange) .SpecialCells (xlCellTypeVisible)


Le code commence par sélectionner uniquement les cellules où une plage donnée (dans le cas présent "MyRange") croise la plage visible de cellules dans la fenêtre active. La recherche de ces cellules est également effectuée à l'aide de la collection SpecialCells afin de s'assurer que seules les cellules non masquées sont utilisées.


J'ai également trouvé sur https://excel-malin.com/tutoriels/vba-tutoriels/somme-en-vba/ un tuto pour les sommes en VBA.
Pour mon exemple, un fichier ci-joint : https://www.cjoint.com/c/HLjpTPovrVM

Pour une fois que je participe à faire avancer le shmimblick !

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 57888 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Looping38