Nom de cellule issue de countif
kristof44
Messages postés
2
Statut
Membre
-
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Ivan-hoe Messages postés 433 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche à composer une référence de cellule excel de type A10 par exemple
le A étant fixe, la valeur numérique de la cellule provenant d'un countif
Lorsque je lance la macro suivante le système me répond incompatibilité de type
Voici le code ...
Sub test()
Dim toto As Integer
Dim tata As String
toto = "=COUNTIF(R[-10]C:R[-1]C,""Y"")"
tata = "A" & toto
Range(tata).Select
End Sub
D'après ce que je comprend, la valeur renvoyée par le contiif n'est pas numérique.
Comment obtenir une valeur numérique ?
Avez vous une solution ?
Merci pour toute aide.
je cherche à composer une référence de cellule excel de type A10 par exemple
le A étant fixe, la valeur numérique de la cellule provenant d'un countif
Lorsque je lance la macro suivante le système me répond incompatibilité de type
Voici le code ...
Sub test()
Dim toto As Integer
Dim tata As String
toto = "=COUNTIF(R[-10]C:R[-1]C,""Y"")"
tata = "A" & toto
Range(tata).Select
End Sub
D'après ce que je comprend, la valeur renvoyée par le contiif n'est pas numérique.
Comment obtenir une valeur numérique ?
Avez vous une solution ?
Merci pour toute aide.
A voir également:
- Nom de cellule issue de countif
- Nom de facebook - Guide
- Nom de l'adresse ✓ - Forum Loisirs / Divertissements
- Proteger cellule excel - Guide
- Changer le nom de son iphone - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
Bonjour Kristof,
tu confonds deux choses : saisir une formule dans Excel avec VBA et exécuter une fonction Excel dans VBA.
"=COUNTIF(R[-10]C:R[-1]C,""Y"")" est une chaîne de texte, que tu écris dans une cellule Excel, pour en faire une formule. Exemple :
C'est donc normal que toto, déclaré comme Integer, n'accepte pas une chaîne de texte.
Ce que tu peux faire, c'est faire le calcul dans Excel, puis récupérer le résultat dans ta variable toto :
Ou alors...
Pour exécuter une fonction Excel dans VBA, utilise la syntaxe suivante :
Remplace QuellePlage par la plage dans laquelle tu comptes les Y. La variable toto prendra la valeur du résultat de la fonction, qui sera compatible avec Integer.
A suivre...
tu confonds deux choses : saisir une formule dans Excel avec VBA et exécuter une fonction Excel dans VBA.
"=COUNTIF(R[-10]C:R[-1]C,""Y"")" est une chaîne de texte, que tu écris dans une cellule Excel, pour en faire une formule. Exemple :
Activecell.FormulaR1C1 ="=COUNTIF(R[-10]C:R[-1]C,""Y"")"
C'est donc normal que toto, déclaré comme Integer, n'accepte pas une chaîne de texte.
Ce que tu peux faire, c'est faire le calcul dans Excel, puis récupérer le résultat dans ta variable toto :
Range("A20").FormulaR1C1 ="=COUNTIF(R[-10]C:R[-1]C,""Y"")"
toto = Range("A20").Value
Ou alors...
Pour exécuter une fonction Excel dans VBA, utilise la syntaxe suivante :
toto = Application.WorksheetFunction.CountIf(QuellePlage, "Y")
Remplace QuellePlage par la plage dans laquelle tu comptes les Y. La variable toto prendra la valeur du résultat de la fonction, qui sera compatible avec Integer.
A suivre...
je vais abuser mais ... peux tume dire comment cumuler deux cellules en vba.
Dans deux variables tot1 et tot2 j'ai l'adresse des cellules à cumuler D16 et D54 par exemple
Dans la variable tot3 j'ai l'adresse de la variable ou je veux fair ele cumul D60;
sI tu as une soluce je suis preneur.
Encore merci