Fonction personnalisée, argument plage

  • Initiateur de la discussion Initiateur de la discussion cibleo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cibleo

XLDnaute Impliqué
Bonjour à tous,

Ci-dessous, j'ai une fonction personnalisée qui me renvoie le nombre total d'images placées dans un feuille de calcul (Images commençant par le mot "pompe").

Aujourd'hui, j'aimerais y affecter un argument plage pour effectuer un décompte en bout de ligne, ça paraît simple mais je n'y arrive pas.

Code:
Function nombre_pompes() As Integer
Dim Sh As Shape
For Each Sh In Feuil1.Shapes
    If Left(Sh.Name, 5) = "pompe" Then nombre_pompes = nombre_pompes + 1
Next Sh
End Function

Je pense que la solution se trouve dans les nombreux exemples figurant dans le lien qui suit :
https://www.excel-downloads.com/threads/somme-plage-si-caractere-couleur.77056/

Merci de votre aide

Cibleo
 
Re : Fonction personnalisée, argument plage

Bonjour,

Code:
Function NbShapes(champ, generique)
  Application.Volatile
  For Each s In ActiveSheet.Shapes
    If Not Intersect(s.TopLeftCell, champ) Is Nothing And _
       s.Name Like generique & "*" Then n = n + 1
  Next s
  NbShapes = n
End Function

JB
Formation Excel VBA JB
 

Pièces jointes

Re : Fonction personnalisée, argument plage

Bonjour BOISGONTIER,

Un grand merci pour ta solution, je vois qu'il faut respecter la casse.

J'en profite pour t'adresser mes félicitations pour ton site bourré d'astuces et de solutions.

Par sa simplicité, il m'a fait découvrir le VBA que je n'osais pas aborder auparavant.

Au plaisir Cibleo
 
Re : Fonction personnalisée, argument plage

Sans respect de la casse:

Code:
Function NbShapes(champ, generique)
  Application.Volatile
  For Each s In ActiveSheet.Shapes
    If Not Intersect(s.TopLeftCell, champ) Is Nothing And _
       UCase(s.Name) Like UCase(generique) & "*" Then n = n + 1
  Next s
  NbShapes = n
End Function

JB
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour