Double-cliquer dans une cellule Excel en VB

Résolu
cat1914 -  
 cat1914 -
Bonjour, j'ai un souci avec un code vb. Je veux parcourir une colonne Excel et double-cliquer dans chaque cellule rencontrée. Voilà mon code :

Dim Cellule As Range
...
For Each Cellule In Range("F1:F" & Range("F65536").End(XlUp).Row)
Cellule.ShowDetail = True
Next Cellule

Et voilà le message qui s'affiche : "Impossible de définir la propriété ShowDetail de la classe range".

Au secours, je vais m'arracher les cheveux! Merci de me venir en aide avant que je sois chauve!
A voir également:

3 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
« Je veux parcourir une colonne Excel et double-cliquer dans chaque cellule rencontrée. »

Dans quel but ?
0
cat1914
 
Valider le format numérique des cellules suite à un copier en provenance de BO V5.
J'ai un rapport sous BO V5 qui a 6 onglets et que je dois fournir en Excel 2010 pour chaque région française. Depuis BO V5, on ne peut pas faire d'export direct vers Excel, il faut faire un copier/coller manuel et se taper toute la mise en forme : 26 fois 6 onglets, un vrai plaisir. Donc j'ai fait une macro via VB qui filtre les régions, copie les tableaux vers Excel et met en forme.
Tout se passe bien sauf pour les colonnes contenant des numériques à 2 décimales. Excel me les aligne à gauche et ne les reconnait pas comme des numériques même en forçant le format de la cellule.
En revanche si je double-clique dans la cellule, elle rend le bon format et m'affiche le montant correctement. D'où l'idée, en désespoir de cause, de parcourir les quelques colonnes qui m'embêtent et de forcer le double-clic.
Le plus drôle c'est que si je fais le copier/coller à la main la colonne s'affiche correctement!
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Et si tu fait Copier / Coller, tu mets la colonne au format et tu refait Coller (sans copier) ?
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Essaies :
For Each Cellule In Range("F1:F" & Range("F65536").End(XlUp).Row)  
Cellule.Value=Cellule.Value + 0  
Next Cellule
0
cat1914
 
Pour ta première suggestion j'avais déjà essayé et ça ne change rien. Pour ta deuxième suggestion, je viens juste de tester et il m'affiche un message d'erreur : type incompatible.
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Quand tu clic sur une cellule c'est écrit comment dans la barre de formule ?
Par contre, si c'est avec une apostrophe de format texte j'ai déjà fait avec
For Each Cellule In Range("F1:F" & Range("F65536").End(XlUp).Row)  
    if  cellule<>"" then Cellule= Val(Cellule)  
Next Cellule

A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
0
cat1914
 
Ta solution est la bonne : ça marche!
Merci beaucoup à toi et à ceux qui ont pris le temps de répondre.

A+.
0