Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Q] [VBA] Récupérer les valeurs d'une zone de cellules

5 réponses
Avatar
JCF
Bonjour à tous,
Je souhaite récupérer les valeurs d'une zone nommée (Resultat) de quatre
cellules d'une feuille XL et les enregistrer dans une variable de type
Array.

Pour l'instant j'ai écrit ça:
--------------------------------
Sub EnregistreResultat()

Dim Resultat As Object
Dim ct As Byte
Dim RMR(1 To 4) As Currency
Application.Goto Reference:="Resultat"
Resultat = "Resultat"
For Each i In Resultat
ct = ct + 1
RMR(ct) = i
Next

MsgBox "Resultat =" & RMR(1) & ", " & RMR(1) & ", " & RMR(1) & ",
" & RMR(4), vbInformation

End Sub
--------------------------------

Mais ça ne marche pas...
Où me trompe-je?
Merci d'avance pour votre vue perçante...
Jean-Christophe

5 réponses

Avatar
Shnoulle
Bonjour JCF,

i est une cellule, RMR(ct) = i.value


J'ai pas vérifier mais ca doit étre ca

A+
Shnoulle





De : JCF
Groupes : microsoft.public.fr.excel
Date : Wed, 21 Jul 2004 15:51:17 +0200
Objet : [Q] [VBA] Récupérer les valeurs d'une zone de cellules

Bonjour à tous,
Je souhaite récupérer les valeurs d'une zone nommée (Resultat) de quatre
cellules d'une feuille XL et les enregistrer dans une variable de type
Array.

Pour l'instant j'ai écrit ça:
--------------------------------
Sub EnregistreResultat()

Dim Resultat As Object
Dim ct As Byte
Dim RMR(1 To 4) As Currency
Application.Goto Reference:="Resultat"
Resultat = "Resultat"
For Each i In Resultat
ct = ct + 1
RMR(ct) = i
Next

MsgBox "Resultat =" & RMR(1) & ", " & RMR(1) & ", " & RMR(1) & ",
" & RMR(4), vbInformation

End Sub
--------------------------------

Mais ça ne marche pas...
Où me trompe-je?
Merci d'avance pour votre vue perçante...
Jean-Christophe



Avatar
JCF
On 21/07/04 16:12, in article BD244667.18EDC%,
"Shnoulle" wrote:


Bonjour JCF,

i est une cellule, RMR(ct) = i.value


Haha!! Tu as du anticiper d'une erreur alors! Pour l'instant ma macro bloque

malheureusement dès Resultat="Resultat". Run-time error '91', Object
variable or With block variable not set, me déclare t-il...
Merci pour ton aide
Jean-Christophe

Avatar
Frédéric Sigonneau
Bonjour,

Essaye cette syntaxe :

Sub EnregistreResultat2()
Dim RMR
RMR = Range("Resultat").Value
MsgBox "Resultat =" & RMR(1, 1) & " - " & RMR(2, 1) & " - " & _
RMR(3, 1) & " - " & RMR(4, 1), vbInformation
End Sub

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour à tous,
Je souhaite récupérer les valeurs d'une zone nommée (Resultat) de quatre
cellules d'une feuille XL et les enregistrer dans une variable de type
Array.

Pour l'instant j'ai écrit ça:
--------------------------------
Sub EnregistreResultat()

Dim Resultat As Object
Dim ct As Byte
Dim RMR(1 To 4) As Currency
Application.Goto Reference:="Resultat"
Resultat = "Resultat"
For Each i In Resultat
ct = ct + 1
RMR(ct) = i
Next

MsgBox "Resultat =" & RMR(1) & ", " & RMR(1) & ", " & RMR(1) & ",
" & RMR(4), vbInformation

End Sub
--------------------------------

Mais ça ne marche pas...
Où me trompe-je?
Merci d'avance pour votre vue perçante...
Jean-Christophe



Avatar
Shnoulle
Salut Frédéric,

Pourquoi tu trouve toujours plus rapide !!!!!!
Shuis jalou !

Moi j'allais indiquer
for each i in range("Resultat")


A+
Shnoulle





De : Frédéric Sigonneau
Groupes : microsoft.public.fr.excel
Date : Wed, 21 Jul 2004 17:21:01 +0200
Objet : Re: [Q] [VBA] Récupérer les valeurs d'une zone de cellules

Bonjour,

Essaye cette syntaxe :

Sub EnregistreResultat2()
Dim RMR
RMR = Range("Resultat").Value
MsgBox "Resultat =" & RMR(1, 1) & " - " & RMR(2, 1) & " - " & _
RMR(3, 1) & " - " & RMR(4, 1), vbInformation
End Sub

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour à tous,
Je souhaite récupérer les valeurs d'une zone nommée (Resultat) de quatre
cellules d'une feuille XL et les enregistrer dans une variable de type
Array.

Pour l'instant j'ai écrit ça:
--------------------------------
Sub EnregistreResultat()

Dim Resultat As Object
Dim ct As Byte
Dim RMR(1 To 4) As Currency
Application.Goto Reference:="Resultat"
Resultat = "Resultat"
For Each i In Resultat
ct = ct + 1
RMR(ct) = i
Next

MsgBox "Resultat =" & RMR(1) & ", " & RMR(1) & ", " & RMR(1) & ",
" & RMR(4), vbInformation

End Sub
--------------------------------

Mais ça ne marche pas...
Où me trompe-je?
Merci d'avance pour votre vue perçante...
Jean-Christophe





Avatar
JCF
"Shnoulle" a écrit:

for each i in range("Resultat")


Les deux solutions marchent super bien, merci beaucoup à vous deux.
Vivement que me viennent les bons réflexes de la syntaxe VBA, j'ai encore du
boulot... Ca y ressemble vaguement, mais... :-)
Bonne soirée et à +
Jean-Christophe

PS: si vous avez des idées sur mon second post " Changer toutes les valeurs
des cellules d'une zone de cellules", je suis preneur! ;-P