Fonction personnalisée, argument plage

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
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Classeur1.xls
    24.5 KB · Affichages: 102
  • Classeur1.xls
    24.5 KB · Affichages: 94
  • Classeur1.xls
    24.5 KB · Affichages: 106

cibleo

XLDnaute Impliqué
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
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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
 

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 138
Membres
104 047
dernier inscrit
bravetta