[VB6 -> VBA]récupérer le nombre de cellules d'une feuille excel avec vba

Résolu
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013 - 12 avril 2013 à 18:43
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013 - 16 avril 2013 à 14:30
bonjour à tous,

Je travaille avec VB6.0 et Excel, et et je trouve un prblm qui me bloque davantage, en fait je cherche à faire référence à une cellule de la feuille Excel, et cette référence est variable; Exmpl:
normalement je fais référence comme suit "C22", mais moi je veux:

Dim ref As Long
Dim Var As Double
ref=22 (par exemple)
Var= range("Cref").Value

mais ça marche pas, il n'arrive pas à faire référence à C22, c'est que la commande "Cref" est fausse ou manquante.
Quelqun pourrait m'aider?? j'en ai vraiment besoin pour avancer
Merci d'avance..

11 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 avril 2013 à 18:52
Bonjour,
Tu es ici dans la section
Forum >Visual Basic 6
qui n'a rien à voir avec celle (Langages dérivés > VBA) dans laquelle tu aurais dû l'ouvrir.
Prends-en bonne note (c'est important) pour tes prochaines discussions relatives à VBA
Que lis-tu dans ton aide VBA en ce qui concerne la notation de >Range ? === >> Range("xy"), par exemple : Range("A2") pour la cellule A2
"xy" est une chaine de caractères et "A2", c'est "A" & 2 ===>>
Var = range("C" & ref).Value
Voilà tout !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 avril 2013 à 20:13
Il est par ailleurs important de donner à son titre un "résumé" de la difficulté !
La tienne n'est finalement pas :
récupérer le nombre de cellules d'une feuille excel avec vba

mais totalement autre : tout simplement : lire le contenu d'une cellule dont on connait la colonne et dont la ligne est dans une variable. Tu es bien le seul à savoir que ce contenu serait (ce qui semble être le cas) le nombre de cellules figurant dans ton titre !!!



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 avril 2013 à 18:46
Oui les cellules contiennent des formules..

et
nombre = rg.SpecialCells( xlCellTypeConstants ).Count

cherche l'erreur !
Il est bien évident que les formules (et leurs résultats) ne sont pas des constantes ! ====>> aucune cellule avec constante === >> erreur 1004.
Il va donc te falloir changer ton fusil d'épaule et pour ce faire, tu es seul à connaître ton appli et à savoir, donc, sur quoi d'appuyer de fiable.
Le plus simple serait (si possible en fonction de ton appli). de chercher la dernière ligne rempli de la colonne de constantes "déterminantes" des résultats dans ta colonne de formules.
Montre-nous, à tout hasard, la formule qui figure par exemple en cellule C10
Et si celle formule utilise elle-même une cellule X également calculée par formule, la formule de cette cellule X, etc ...
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013
15 avril 2013 à 10:19
Bonjour,

Merci bcp ucfoutu, ça marche bien
en fait pour le titre C vrai je me suis trempée, j'allais au début poser une question relative à ce propos mais après j'ai trouvé la solution et par la suite j'ai bloqué au niveau du point auquel tu m'as donné la solution et j'ai oublié de changer le titre résumant mon prblm

Bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 avril 2013 à 10:33
Libère alors ce sujet (clique sur le tag "réponse acceptée").


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013
15 avril 2013 à 11:53
bonjour à tous,

Je travaille avec VB6.0 et Excel, en fait je veux récupérer le nombre de cellules non vides d'une feuille excel à partir d'une cellule donée comme suit:

Dim rg As range
Dim nombre As Long

Set rg = range("C24:C")
nombre = rg.SpecialCells(xlCellTypeConstants).Count

Mais là j'obtiens une erreur au niveau de la 3ème ligne:
Erreur d'exécution 1004
La méthode "Range" de l'objet '_Global' a échoué

Quelqun pourrait m'aider?? j'en ai vraiment besoin pour avancer
Merci bien ..
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 avril 2013 à 12:58
Bon ...
V'la qu'on change de question !
range("C24:C")
ne saurait en aucun cas définir une plage !
range("C24:C2000") , par contre et par exemple, en définirait une !
Alors : dans ton cas, c'est jusqu'à quelle ligne, qu'il va falloir préciser ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013
15 avril 2013 à 13:05
En fait je veux qu'il commence à partir de "C24" jusqu'à arriver à la fin de la feuille Excel
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 avril 2013 à 14:22
Parle-nous alors de ce que contiennent les cellules de ta colonne C :
sont-ce des constantes (saisies par l'utilisateur, par exemple) ou des résultat de formules ?
Ta réponse précise est importante


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013
15 avril 2013 à 14:29
Oui les cellules contiennent des formules..
0
mimi09jn Messages postés 49 Date d'inscription mardi 21 février 2012 Statut Membre Dernière intervention 12 juillet 2013
16 avril 2013 à 14:30
Merci Bien ça marche bien avec xlCellTypeConstants
0
Rejoignez-nous