Erreur incompatibilité de type avec une fonction
Résolu
louloubru
Messages postés
14
Statut
Membre
-
louloubru Messages postés 14 Statut Membre -
louloubru Messages postés 14 Statut Membre -
Bonjour,
j'ai un problème qui devient récurrent dans tout ce que j'essaie de faire : excel me signale une "incompatibilité de type". Je ne parviens pas à trouver l'incompatibilité en question.
Je testai cette procédure :
RefCell étant une fonction que j'ai créé et qui se trouve si dessous (il y avait peut-être plus simple mais ça fonctionne !) :
'Fonction qui trouve la référence de la cellule contenant la valeur (TEXT !) cherchée (fonctionne uniquement pour une seule occurrence de la valeur)
L'objectif est de faire la somme de toutes les valeurs d'une colonne, en donnant la plage dans laquelle doit se trouver la colonne et son nom (donc valeur dans sa première cellule).
Je souhaiterais ensuite faire une boucle me permettant d’exécuter cela sur une liste de feuilles mais on va y aller étape par étape.
Merci par avance pour votre aide !
j'ai un problème qui devient récurrent dans tout ce que j'essaie de faire : excel me signale une "incompatibilité de type". Je ne parviens pas à trouver l'incompatibilité en question.
Je testai cette procédure :
Sub Test()
Range("F2").Value = Application.Sum(Range(RefCell(Sheets("Evènements"), "coucou")).EntireColumn)
End Sub
RefCell étant une fonction que j'ai créé et qui se trouve si dessous (il y avait peut-être plus simple mais ça fonctionne !) :
'Fonction qui trouve la référence de la cellule contenant la valeur (TEXT !) cherchée (fonctionne uniquement pour une seule occurrence de la valeur)
Function RefCell(MonTableau As Range, Text As String)
Dim MaCellule As Range
For Each MaCellule In MonTableau
If InStr(1, MaCellule, Text) = 1 Then
RefCell = MaCellule.Address
Exit Function
End If
Next MaCellule
End Function
L'objectif est de faire la somme de toutes les valeurs d'une colonne, en donnant la plage dans laquelle doit se trouver la colonne et son nom (donc valeur dans sa première cellule).
Je souhaiterais ensuite faire une boucle me permettant d’exécuter cela sur une liste de feuilles mais on va y aller étape par étape.
Merci par avance pour votre aide !
A voir également:
- Erreur incompatibilité de type avec une fonction
- Fonction si et - Guide
- Iptv erreur de lecture - Forum TV & Vidéo
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Type de ram - Guide
- Une erreur s'est produite instagram ✓ - Forum Instagram
2 réponses
Bonjour,
tu écris
tu écris
MonTableau As Rangeet tu lui envoies le nom d'une feuille dans tes arguments
Sheets("Evènements") une feuille n'est pas un range à mon avis ton incompatibilité de type se trouve ici..
une base comme celle ci me semble plus correct :
Function RefCell(varSheet As Worksheets, Text As String)
Dim MonTableau As Range
MonTableau=Worksheets(varsheet).Range("A1:A10") 'à toi de définir la plage correcte
For Each Cell In MonTableau
If InStr(1, Cell, Text) = 1 Then
RefCell = Cell.Address
Exit Function
End If
Next
End Function
j'ai changé Range en Worksheets mais ça ne fonctionne pas non plus ...
Toujours erreur de compatibilité de type.
Je remets le code :
Fonction :
Function RefCell(MonTableau As Worksheets, Text As String) Dim MaCellule As Range For Each MaCellule In MonTableau If InStr(1, MaCellule, Text) = 1 Then RefCell = MaCellule.Address Exit Function End If Next MaCellule End FunctionProcédure utilisant la fonction :
Sub Test() Range("F2").Value = Application.Sum(Range(RefCell(Sheets("Evènements"), "zrfz")).EntireColumn) End SubMerci par avance !