Retirer majuscule automatique dans le code

Couture

XLDnaute Nouveau
Bonjour,

j'ai un problème avec le "correcteur" de VBA. Lorsque j'inscris mon code il faut que celui-ci reste en minuscule or VBA me le convertit directement en Majuscule quoique je fasse
==> mon ".Rows" devrait être ".rows" idem pour mon ".Value"... qui devrait s'afficher ".value"mais VBA me le corrige automatiquement pour remettre des majuscules ! comment faire ? Je suis déjà allée dans les options pour décocher le correcteur de syntaxe mais cela n'y fait rien !

Merci de votre aide
 

Theze

XLDnaute Occasionnel
Bonjour,

.Rows, .Columns, .Value, .Text, etc.. sont des propriétés d'objets qui commence toujours par une majuscule, tu ne peux pas en modifier l'orthographe à moins d'utiliser des variables ayant la même orthographe mais alors là, attention aux risques d'erreurs :
Code:
Sub Test()
   
    Dim rows As Range
    Dim row As Range
   
    Set rows = Range("A1:A10").rows
   
    For Each row In rows
   
        Debug.Print row.row
       
    Next row
   
End Sub
 

Couture

XLDnaute Nouveau
Ok merci, c'est ce que j'avais fait du coup en attendant une solution alternative !
En fait j'ai tiré un morceau de code d'un autre fichier où justement il ne s'agit pas d'une propriété d'objet mais de variables issues d'un site internet (Google Maps) ! Le fichier d'où j'ai tiré le code n'a pas ce problème et n'a pourtant pas définit "value" et "rows" en tant que variable (je ne sais pas si je suis claire ?). Moi si je ne les définit pas en tant que tel, il y a correction automatique car VBA considère que ce sont des propriétés mais VBA ne fait pas cette correction dans l'autre code...

Merci !
 

ChTi160

XLDnaute Barbatruc
Bonjour le fil , le forum
J ai vu les deux fils ou tu exposes ton probleme lol
Je n ai surement pas compris car pas vu ta procedure complete mais tantot tu mets “.value” et “value” ou “.rows” et “rows”
Question :
”Value” et ”rows”, sont des references a une valeur de cellule ou a des lignes?
Peut etre rien compris. Lol
Bonne fin de journee
Jean marie
 

job75

XLDnaute Barbatruc
Bonjour,

Effectivement avec Dim on peut modifier la casse des mots clés :

Ecrivez par exemple :
Code:
Sub test()
a = Range("a1").Value
Set r = Rows(1)
MsgBox a
End Sub
Puis ajoutez Dim avec les déclarations entièrement en minuscules :
Code:
Sub test()
Dim range, value, rows, msgbox
a = range("a1").value
Set r = rows(1)
msgbox a
End Sub
Vous pouvez retirer les déclarations, le code reste en minuscules et fonctionne très bien :
Code:
Sub test()
a = range("a1").value
Set r = rows(1)
msgbox a
End Sub
A+
 

Theze

XLDnaute Occasionnel
En fait, c'est quoi le problème ?
En VB ou VBA, il est fortement déconseillé d'utiliser des noms pour des variables portant le même nom que des propriétés, méthodes, constantes ou autres donc, pourquoi vouloir le faire ?
Ce n'est pas une critique, juste de la curiosité :)
 

job75

XLDnaute Barbatruc
Re Theze,
En VB ou VBA, il est fortement déconseillé d'utiliser des noms pour des variables portant le même nom que des propriétés, méthodes, constantes ou autres donc, pourquoi vouloir le faire ?
Bien sûr c'est pourquoi il faut supprimer les déclarations des variables qui servent à mettre le code en minuscules.

Mon post #5 est pourtant clair.

A+
 

Couture

XLDnaute Nouveau
Super merci pour toutes vos réponses et votre aide !
Theze, en fait c'est pas que je veux absolument le faire, mais le code récupère les données Google et c'est dans ces données où il y a déjà des choses appelées value et rows :)
En tout cas vraiment merci !

Autre question :D

Là le code récupère le code Google pour la distance. Sauf qu'en fonction de l'horaire où je lance la procédure je n'aurai pas le même kilométrage (je suppose que ça prend en compte le trafic) y'a t il un moyen de détourner ça ? En récupérant toujours par exemple le plus court chemin ou en annulant l'effet trafic ?

Merci !
 

Discussions similaires