Recherche avec un onglet comme variable

  • Initiateur de la discussion gmars
  • Date de début
G

gmars

Guest
Bonjour,

Je souhaite créer une fonction qui me permet de faire une recherche dans un classeur Excel en prenant comme variable le nom de l'onglet d'une feuille du classeur. Pour ensuite réaliser une recherche à l'intérieur à l'intérieur de la feuille.

Quelqu'un peux t il m'aider?

Merci
 
O

omicron

Guest
Bonsoir Gmars,

Voici un exemple de fonction qui devrait répondre à ta question :
----------------------------------------------------------------------------------------------
Public Function ChainCount(Chain As Variant, Sheet As Variant) As Integer

'Cette fonction analyse la Feuille dont le nom est passé dans le paramètre "Sheet" et calcule
'le nombre de cellules contenant la Chaine de caractères passée dans le paramètre "Chain"

ChainCount = 0
With ActiveWorkbook.Sheets(Sheet).Cells
Set c = .Find(Chain, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
ChainCount = ChainCount + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With

End Function
-----------------------------------------------------------------------------------------------

Attention cette fonction marche, mais je l'ai programmée "au plus court", si tu veux l'utiliser, il faudrait renforcer les contrôles de validité des paramètres ....


Cordialement ....
 
F

f.launay

Guest
Bonjour
Tu peux aussi utiliser le codename de chaque feuille qui a la particularité
d'être invariable à la différence du nom d' interface de la feuille.
ci joint exemple
Sub ab()
Dim Worksheet As Worksheet
'Identification des feuilles par leur nom de code
For Each Worksheet In ThisWorkbook.Worksheets
Worksheet.Select
Range("B2").Formula = Worksheet.CodeName
MsgBox Worksheet.CodeName
Next Worksheet
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 017
dernier inscrit
annboi19