OVH Cloud OVH Cloud

concaténer Worlbook.sheet.Range.value dans une variable bool

2 réponses
Avatar
twinley
Bonjour à tous

Je vais avoir plusieurs projets ouverts en même temps. Pour eviter des aléas, j'utilise la syntaxe complête sous la forme
Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Valu
C'est un peu lourd à lire... et les retours à la lignes ne facilitent la vie

Donc pour simplifier je déclare une var pour tous les modules, de la façon suivante

Static feuilUT1
feuilUT1 = "Workbooks(" & Chr(34) & "flux_principal.xls" & Chr(34) & ").Sheets(" & Chr(34) & " UT1 " & Chr(34) & ")

Puis je récupère la valeur boleenne de la cellule H1, et sous la forme ci-dessous ça march
Dim verrou As Boolea
verrou = Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Valu

Mais... mais... mais je cafouille pour utiliser la var feuilUT1
verrou = feuilUT1.Range("H1").Value est refusé
car il faudrait refaire une concaténation ou je ne sais quelle astuce

Auriez vous en stock une syntaxe très courte pour mettre H1 dans verrou avec ma chaîne simplificatrice qui pour l'instant me pourri la vie

Merci pour le coup de mai

à+

2 réponses

Avatar
isabelle
bonjour twinley,

essaie avec l'instruction set, attribue une référence d'objet

Set feuilUT1 = Workbooks("flux_principal.xls").Sheets("UT1")
verrou = feuilUT1.Range("H1").Value

isabelle


Bonjour à tous,

Je vais avoir plusieurs projets ouverts en même temps. Pour eviter des aléas, j'utilise la syntaxe complête sous la forme :
Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Value
C'est un peu lourd à lire... et les retours à la lignes ne facilitent la vie.

Donc pour simplifier je déclare une var pour tous les modules, de la façon suivante :

Static feuilUT1$
feuilUT1 = "Workbooks(" & Chr(34) & "flux_principal.xls" & Chr(34) & ").Sheets(" & Chr(34) & " UT1 " & Chr(34) & ")"

Puis je récupère la valeur boleenne de la cellule H1, et sous la forme ci-dessous ça marche
Dim verrou As Boolean
verrou = Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Value

Mais... mais... mais je cafouille pour utiliser la var feuilUT1$
verrou = feuilUT1.Range("H1").Value est refusé.
car il faudrait refaire une concaténation ou je ne sais quelle astuce.

Auriez vous en stock une syntaxe très courte pour mettre H1 dans verrou avec ma chaîne simplificatrice qui pour l'instant me pourri la vie ?

Merci pour le coup de main

à +D


Avatar
michdenis
Bonjour Twinley,

Tu te compliques l'existence !

Tu peux remplacer dans ton code ceci :

Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Value


Par

Dim Rg as Range
set Rg = Workbooks("flux_principal.xls").Sheets("UT1").Range("H1")


Et à chaque fois que tu veux faire référence à cette cellule de cette feuille de ce classeur, tu utilises l'objet Range
"Rg" que tu as défini.

A = Rg.Value 'à titre d'exemple.


Si tu veux une variable pour une feuille

Dim Sh as Worksheet
Set Sh = Workbooks("flux_principal.xls").Sheets("UT1")


Et dans les 2 cas tu termines ta procédures en libérant la mémoire des objets que tu as créés.

Set Rg = Nothing
Set Sh = Nothing


Salutations!




"twinley" a écrit dans le message de
news:
Bonjour à tous,

Je vais avoir plusieurs projets ouverts en même temps. Pour eviter des aléas, j'utilise la syntaxe complête sous la
forme :
Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Value
C'est un peu lourd à lire... et les retours à la lignes ne facilitent la vie.

Donc pour simplifier je déclare une var pour tous les modules, de la façon suivante :

Static feuilUT1$
feuilUT1 = "Workbooks(" & Chr(34) & "flux_principal.xls" & Chr(34) & ").Sheets(" & Chr(34) & " UT1 " & Chr(34) & ")"

Puis je récupère la valeur boleenne de la cellule H1, et sous la forme ci-dessous ça marche
Dim verrou As Boolean
verrou = Workbooks("flux_principal.xls").Sheets("UT1").Range("H1").Value

Mais... mais... mais je cafouille pour utiliser la var feuilUT1$
verrou = feuilUT1.Range("H1").Value est refusé.
car il faudrait refaire une concaténation ou je ne sais quelle astuce.

Auriez vous en stock une syntaxe très courte pour mettre H1 dans verrou avec ma chaîne simplificatrice qui pour
l'instant me pourri la vie ?

Merci pour le coup de main

à+D