cs_refaat
Messages postés30Date d'inscriptionjeudi 5 juillet 2007StatutMembreDernière intervention 7 septembre 2008
-
7 août 2008 à 14:11
cs_refaat
Messages postés30Date d'inscriptionjeudi 5 juillet 2007StatutMembreDernière intervention 7 septembre 2008
-
8 août 2008 à 18:07
Bonjour à tous,
je veux récupérer le nom d'une cellule! c simple je pense! j'ai cherché sur intenet, ils disent que je dois utiliser ".name.name" mais ça ne fonctionne pas. j cette erreur là : "Application-defined or object-defined
error" "runtime error 1004"!
j'ai déja ouvert un workbook.
voici mon code:
Dim str As String
Dim cellule As Range
For Each sheet In ActiveWorkbook.Sheets
For Each cell In ActiveSheet.Cells
str = cell.name.name
MsgBox str
Next cell
Next sheet
qu'est ce que je dois faire?
ça fait longtemps que je suis bloqué.j tout essayé!
aidez-moi svp.c urgent.
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 7 août 2008 à 21:42
Salut,
bon alors plusieur chose : str est un nom reservé VBA car str est une fonction donc remplace le nom de cette variable par autre chose.
Sheet est lui aussi un nom reservé VBA excel, tu ne peux donc boucler sur les feuilles de cette maniere. la aussi change le nom
en suite cela ne marche pas et bien tu devrais t'en rejouire car une boucle qui renverait une message box pour chaque cellules des 3 feuilles de base d'excel, represente pour en sortir : 65535*256*3 cellules soit 50 330 880
cliques
sur le bouton ok ... mais peut etre que tu es en vacance et que tu ne sais pas quoi faire ... si tu tiens une cadance de 2 cliques seconde 24/24 7j/7j tu devrais avoir finit dans 291 jours
en suite si un probleme aussi facile n'a pu etre resolu c'est peut etre que la question a été mal posée non !... car les cellules non pas de nom elles ont soit une adresse soit une reference. En generale on utilise l'adresse.
voici ton code en version corrigé :
en bleu ce qui a changé
Dim MyStr As String
Dim cellule As Range, MaFeuille As Worksheet
For Each MaFeuille In ActiveWorkbook.Worksheets
For Each cellule In MaFeuille.Cells
If cellule.Address = "$A$1" Then
MyStr = MaFeuille & " " & cellule.Address
MsgBox MyStr
End If
Next
Next MaFeuille
tu noteras que finalement j'ai ete sympas car tu n'auras qu'un nombre de clique correspondant au nombre de feuille
cs_refaat
Messages postés30Date d'inscriptionjeudi 5 juillet 2007StatutMembreDernière intervention 7 septembre 2008 8 août 2008 à 18:07
merci pour tout [auteur/BIGFISHLEVRAI/510670.aspx bigfish_le vrai]. c'est ça le code qui devrait etre écrit dès le début!
voilà! c simple.
un grand merci à [auteur/BIGFISHLEVRAI/510670.aspx bigfish_le vrai] une autre fois et à [auteur/BONJOURCHEVAL/1416430.aspx bonjourcheval]