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

Messages postés
49
Date d'inscription
mardi 21 février 2012
Dernière intervention
12 juillet 2013
- - Dernière réponse : mimi09jn
Messages postés
49
Date d'inscription
mardi 21 février 2012
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..
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 128 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
mardi 21 février 2012
Dernière intervention
12 juillet 2013
0
Merci
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
Commenter la réponse de mimi09jn
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
mardi 21 février 2012
Dernière intervention
12 juillet 2013
0
Merci
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 ..
Commenter la réponse de mimi09jn
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
mardi 21 février 2012
Dernière intervention
12 juillet 2013
0
Merci
En fait je veux qu'il commence à partir de "C24" jusqu'à arriver à la fin de la feuille Excel
Commenter la réponse de mimi09jn
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
264
0
Merci
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.
Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
mardi 21 février 2012
Dernière intervention
12 juillet 2013
0
Merci
Oui les cellules contiennent des formules..
Commenter la réponse de mimi09jn
Messages postés
49
Date d'inscription
mardi 21 février 2012
Dernière intervention
12 juillet 2013
0
Merci
Merci Bien ça marche bien avec xlCellTypeConstants
Commenter la réponse de mimi09jn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.