En VBA, tu peux récupérer la valeur de cellule comme suit:
Si ligne = 4 et Colonne = 1 Cells(4, 1).Value
Cordialement,
GVentre
Bonjour,
j'ai un numéro de ligne et de colonne, quels sont les différents moyens pour récupérer la valeur contenu dans la cellule correspondante?
merci !
Laurent M
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur
d'une cellule en fonction d'une abscisse et d'une ordonné
De même SetValue permet de donner une valeur à une cellule selon l'ordonné
ou l'abscisse choisie
-----------------------------------
Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value
End Function
-----------------------------------
Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
Range(Adresse).value = D_Value
End Function
-----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
-----------------------------------
Sub GetNumberOfFund()
Dim ad
ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub
-----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la
première ligne de ma feuille; "first" et "InsertData" se situent dans la
première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne
en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
LSteph
Bonjour Laurent, Ce getvalue ressemble curieusement à la fonction index: =index(matrice,numlig,numcol) ou bien en vba plus simplement exemple: cells(1,4) renvoie déjà la cellule ligne 1 colonne4
de même pour le SetValue, il me semble que cells(2,3)="ceci" met ceci dans la cellule en question.
Ou bien , pas vraiment compris la finalité ?§...
'lSteph
"Laurent M" a écrit dans le message de news:
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
Bonjour Laurent,
Ce getvalue ressemble curieusement à la fonction index:
=index(matrice,numlig,numcol)
ou bien en vba plus simplement exemple:
cells(1,4)
renvoie déjà la cellule ligne 1 colonne4
de même pour le SetValue, il me semble que
cells(2,3)="ceci"
met ceci dans la cellule en question.
Ou bien , pas vraiment compris la finalité ?§...
'lSteph
"Laurent M" <LaurentM@discussions.microsoft.com> a écrit dans le message de
news: A88CCC14-D517-4EB8-A555-60DED45E9A94@microsoft.com...
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur
d'une cellule en fonction d'une abscisse et d'une ordonné
De même SetValue permet de donner une valeur à une cellule selon l'ordonné
ou l'abscisse choisie
-----------------------------------
Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value
End Function
-----------------------------------
Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
Range(Adresse).value = D_Value
End Function
-----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
-----------------------------------
Sub GetNumberOfFund()
Dim ad
ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub
-----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la
première ligne de ma feuille; "first" et "InsertData" se situent dans la
première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne
en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
Bonjour Laurent, Ce getvalue ressemble curieusement à la fonction index: =index(matrice,numlig,numcol) ou bien en vba plus simplement exemple: cells(1,4) renvoie déjà la cellule ligne 1 colonne4
de même pour le SetValue, il me semble que cells(2,3)="ceci" met ceci dans la cellule en question.
Ou bien , pas vraiment compris la finalité ?§...
'lSteph
"Laurent M" a écrit dans le message de news:
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
Jean-François Aubert
Salut Laurent,
la faute est ici:
Dim Adresse As Range
ne déclare pas la dim Adresse en Range, parce que :
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Laurent M" a écrit dans le message de news:
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
Salut Laurent,
la faute est ici:
Dim Adresse As Range
ne déclare pas la dim Adresse en Range, parce que :
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Laurent M" <LaurentM@discussions.microsoft.com> a écrit dans le message de
news: A88CCC14-D517-4EB8-A555-60DED45E9A94@microsoft.com...
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur
d'une cellule en fonction d'une abscisse et d'une ordonné
De même SetValue permet de donner une valeur à une cellule selon l'ordonné
ou l'abscisse choisie
-----------------------------------
Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value
End Function
-----------------------------------
Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
Range(Adresse).value = D_Value
End Function
-----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
-----------------------------------
Sub GetNumberOfFund()
Dim ad
ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub
-----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la
première ligne de ma feuille; "first" et "InsertData" se situent dans la
première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne
en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Laurent M" a écrit dans le message de news:
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
Laurent M
Merci Jean-François tout marche à présent
Salut Laurent,
la faute est ici:
Dim Adresse As Range
ne déclare pas la dim Adresse en Range, parce que :
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Laurent M" a écrit dans le message de news:
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
merci par avance
Merci Jean-François tout marche à présent
Salut Laurent,
la faute est ici:
Dim Adresse As Range
ne déclare pas la dim Adresse en Range, parce que :
Jean-François Aubert
{Vaudois de la Côte Lémanique}
"Laurent M" <LaurentM@discussions.microsoft.com> a écrit dans le message de
news: A88CCC14-D517-4EB8-A555-60DED45E9A94@microsoft.com...
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur
d'une cellule en fonction d'une abscisse et d'une ordonné
De même SetValue permet de donner une valeur à une cellule selon l'ordonné
ou l'abscisse choisie
-----------------------------------
Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value
End Function
-----------------------------------
Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range
Adresse = Cells(Range("A:A").Find(S_Valeur).Row,
Range("1:1").Find(S_Fond).Column).Address(False, False)
Range(Adresse).value = D_Value
End Function
-----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
-----------------------------------
Sub GetNumberOfFund()
Dim ad
ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub
-----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la
première ligne de ma feuille; "first" et "InsertData" se situent dans la
première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne
en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !
Jean-François Aubert {Vaudois de la Côte Lémanique}
"Laurent M" a écrit dans le message de news:
d'accord je vous remercie
Pourriez vous jeter un coup d'oeil à ceci :
J'ai déclaré une fonction GetValue qui me permet de rechercher la valeur d'une cellule en fonction d'une abscisse et d'une ordonné De même SetValue permet de donner une valeur à une cellule selon l'ordonné ou l'abscisse choisie
----------------------------------- Function GetValue(S_Fond As String, S_Valeur As String)
Dim Adresse Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False)
GetValue = Range(Adresse).value End Function ----------------------------------- Function SetValue(S_Fond As String, S_Valeur As String, D_Value)
Dim Adresse As Range Adresse = Cells(Range("A:A").Find(S_Valeur).Row, Range("1:1").Find(S_Fond).Column).Address(False, False) Range(Adresse).value = D_Value End Function -----------------------------------
J'essaie ensuite d'appeler ces fonction avec une macro (pour les tester) :
----------------------------------- Sub GetNumberOfFund()
Dim ad ad = GetValue("f1c1", "first")
Call SetValue("sec", "InsertData", ad)
End Sub -----------------------------------
sachant que les chaînes de caractères "f1c1", "sec" se situe dans la première ligne de ma feuille; "first" et "InsertData" se situent dans la première colonne de ma feuille.
Lorsque j'exécute la macro je reçois cette erreur
"Variable Objet ou variable de bloc with non définie au niveau de la ligne en rouge"
Je ne comprends vraiment pas d'où cela vient et cela m'irrite beaucoup !