Te retourne le numéro de la ligne du coin supérieur gauche
que l'usager a sélectionné à l'aide de la procédure.
'----------------------------
Sub test()
Dim X As Range
On Error Resume Next
Set X = Application.InputBox(Prompt:="Cliquer sur une cellule", _
Type:=8)
If Err <> 0 Then
MsgBox "L'usager à cliquer sur annuler."
Exit Sub
Else
MsgBox X(1, 1).Row
End If
End Sub
'----------------------------
"LANIMAL" a écrit dans le message de news:
Voilà l'erreur :
Je travaille avec un dinosaure (Excel 2000)! ! !
qui ne comprend pas ...., Type:=8).Row,
du moins l'aide n'en parle pas,
et l'exécution de ton code me répond invariablement Ligne = 0
Je vais devoir passer à la caisse de Microsoft un de ces jours
pour rajeunir !
En attendant, j'ai eu l'idée de passer l'annonce :
"Sélectionner une cellule de la ligne à traiter."
à l'aide d'une TextBox placée dans un volet figé de la feuille,
de détecter la sélection par un code "SelectionChange"
et d'effacer la TextBox dans la suite du code.
Mais je ne sais pas comment écrire le code qui réalise cet effacement.
Alors, peut-être toi, tu sauras me dire ça,
....ou une autre solution...
Encore merci pour ton attention... persistante.
LANIMAL
Daniel.C a écrit :Est-ce que tu as testé mon code ? Il te renvoie le numéro de ligne de la
cellule sur laquelle tu as cliqué. Si tu cliques sur G25, la variable
Ligne est égale à 25. Ce que tu demandais.
DanielEffectivement, on ne se comprend pas,
je dis bien que je veux répondre par un CLIC.
Dans un tableau assez large, les noms sont en colonne A.
Actuellement j'ai le code suivant :
-------------------------------------
On Error Resume Next
NomATraiter = Application.InputBox _
(prompt:="Cliquer sur le nom à traiter." & vbLf & vbLf _
& "puis 'OK'" _
, Title:="NOM A TRAITER ?" _
LigneNom = Application.WorksheetFunction.Match(NomATraiter, _
Range("A1:A500"), 0)
If Err <> 0 Then Exit Sub
-------------------------------------
Dans ce cas l'InputBox donne en réponse le nom CLIQUÉ en COLONNE A
dont la ligne "LigneNom" est donnée par Application...Match.
Je souhaite obtenir le même résultat, mais en cliquant n'importe
quelle cellule de la ligne du nom (qui est très longue),selon les
colonnes observées.
Merci, Daniel, Peut-être à + ?
Daniel.C a écrit :???
Utilise alors :
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
et gère toi-même les cas où l'utilisateur ne saisis rien.
DanielBen oui, Daniel, mais quoi que je fasse, ça boucle !
Et puis, comme je l'expliquais, je souhaite faire une réponse par
clic sur n'importe quelle cellule de la ligne,
selon la disposition des infos du tableau.
Merci pour ton attention.
Daniel.C a écrit :Oups.
Dim Ligne As Long
On Error Resume Next
Do While Ligne = 0
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Ligne = 0 Then
MsgBox "Veuillez saisir une cellule"
End If
Loop
On Error GoTo 0
Le code boucle jusqu'à ce que l'utilisateur ait choisi une cellule
et cliqué sur OK.
Daniel
DanielBonjour.
On Error Resume Next
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Err.Number = 0 Then
Ligne = c.Row
Else
'...
End If
Cordialement.
DanielBonjour
Je voudrais utiliser une InputBox pour recueillir le numéro de la
ligne qui doit faire l'objet d'une procédure, avec le code
ci-dessous.
----------------------
Choix = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?"
----------------------
Si je clique sur la cellule G25, y a-t-il un code qui me donnerait :
Ligne = ........ (avec réponse = 25)
Bien sûr, je pourrais saisir directement le N° de la ligne, mais
c'est pour éviter des erreurs de saisie que je voudrais opérer
par un clic,
n'importe où sur la ligne, selon la disposition des infos à
considérer.
Merci et bonne journée
Te retourne le numéro de la ligne du coin supérieur gauche
que l'usager a sélectionné à l'aide de la procédure.
'----------------------------
Sub test()
Dim X As Range
On Error Resume Next
Set X = Application.InputBox(Prompt:="Cliquer sur une cellule", _
Type:=8)
If Err <> 0 Then
MsgBox "L'usager à cliquer sur annuler."
Exit Sub
Else
MsgBox X(1, 1).Row
End If
End Sub
'----------------------------
"LANIMAL" <noreply@xxx.yy> a écrit dans le message de news:
us7vVNmcJHA.2112@TK2MSFTNGP02.phx.gbl...
Voilà l'erreur :
Je travaille avec un dinosaure (Excel 2000)! ! !
qui ne comprend pas ...., Type:=8).Row,
du moins l'aide n'en parle pas,
et l'exécution de ton code me répond invariablement Ligne = 0
Je vais devoir passer à la caisse de Microsoft un de ces jours
pour rajeunir !
En attendant, j'ai eu l'idée de passer l'annonce :
"Sélectionner une cellule de la ligne à traiter."
à l'aide d'une TextBox placée dans un volet figé de la feuille,
de détecter la sélection par un code "SelectionChange"
et d'effacer la TextBox dans la suite du code.
Mais je ne sais pas comment écrire le code qui réalise cet effacement.
Alors, peut-être toi, tu sauras me dire ça,
....ou une autre solution...
Encore merci pour ton attention... persistante.
LANIMAL
Daniel.C a écrit :
Est-ce que tu as testé mon code ? Il te renvoie le numéro de ligne de la
cellule sur laquelle tu as cliqué. Si tu cliques sur G25, la variable
Ligne est égale à 25. Ce que tu demandais.
Daniel
Effectivement, on ne se comprend pas,
je dis bien que je veux répondre par un CLIC.
Dans un tableau assez large, les noms sont en colonne A.
Actuellement j'ai le code suivant :
-------------------------------------
On Error Resume Next
NomATraiter = Application.InputBox _
(prompt:="Cliquer sur le nom à traiter." & vbLf & vbLf _
& "puis 'OK'" _
, Title:="NOM A TRAITER ?" _
LigneNom = Application.WorksheetFunction.Match(NomATraiter, _
Range("A1:A500"), 0)
If Err <> 0 Then Exit Sub
-------------------------------------
Dans ce cas l'InputBox donne en réponse le nom CLIQUÉ en COLONNE A
dont la ligne "LigneNom" est donnée par Application...Match.
Je souhaite obtenir le même résultat, mais en cliquant n'importe
quelle cellule de la ligne du nom (qui est très longue),selon les
colonnes observées.
Merci, Daniel, Peut-être à + ?
Daniel.C a écrit :
???
Utilise alors :
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
et gère toi-même les cas où l'utilisateur ne saisis rien.
Daniel
Ben oui, Daniel, mais quoi que je fasse, ça boucle !
Et puis, comme je l'expliquais, je souhaite faire une réponse par
clic sur n'importe quelle cellule de la ligne,
selon la disposition des infos du tableau.
Merci pour ton attention.
Daniel.C a écrit :
Oups.
Dim Ligne As Long
On Error Resume Next
Do While Ligne = 0
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Ligne = 0 Then
MsgBox "Veuillez saisir une cellule"
End If
Loop
On Error GoTo 0
Le code boucle jusqu'à ce que l'utilisateur ait choisi une cellule
et cliqué sur OK.
Daniel
Daniel
Bonjour.
On Error Resume Next
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Err.Number = 0 Then
Ligne = c.Row
Else
'...
End If
Cordialement.
Daniel
Bonjour
Je voudrais utiliser une InputBox pour recueillir le numéro de la
ligne qui doit faire l'objet d'une procédure, avec le code
ci-dessous.
----------------------
Choix = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?"
----------------------
Si je clique sur la cellule G25, y a-t-il un code qui me donnerait :
Ligne = ........ (avec réponse = 25)
Bien sûr, je pourrais saisir directement le N° de la ligne, mais
c'est pour éviter des erreurs de saisie que je voudrais opérer
par un clic,
n'importe où sur la ligne, selon la disposition des infos à
considérer.
Merci et bonne journée
Te retourne le numéro de la ligne du coin supérieur gauche
que l'usager a sélectionné à l'aide de la procédure.
'----------------------------
Sub test()
Dim X As Range
On Error Resume Next
Set X = Application.InputBox(Prompt:="Cliquer sur une cellule", _
Type:=8)
If Err <> 0 Then
MsgBox "L'usager à cliquer sur annuler."
Exit Sub
Else
MsgBox X(1, 1).Row
End If
End Sub
'----------------------------
"LANIMAL" a écrit dans le message de news:
Voilà l'erreur :
Je travaille avec un dinosaure (Excel 2000)! ! !
qui ne comprend pas ...., Type:=8).Row,
du moins l'aide n'en parle pas,
et l'exécution de ton code me répond invariablement Ligne = 0
Je vais devoir passer à la caisse de Microsoft un de ces jours
pour rajeunir !
En attendant, j'ai eu l'idée de passer l'annonce :
"Sélectionner une cellule de la ligne à traiter."
à l'aide d'une TextBox placée dans un volet figé de la feuille,
de détecter la sélection par un code "SelectionChange"
et d'effacer la TextBox dans la suite du code.
Mais je ne sais pas comment écrire le code qui réalise cet effacement.
Alors, peut-être toi, tu sauras me dire ça,
....ou une autre solution...
Encore merci pour ton attention... persistante.
LANIMAL
Daniel.C a écrit :Est-ce que tu as testé mon code ? Il te renvoie le numéro de ligne de la
cellule sur laquelle tu as cliqué. Si tu cliques sur G25, la variable
Ligne est égale à 25. Ce que tu demandais.
DanielEffectivement, on ne se comprend pas,
je dis bien que je veux répondre par un CLIC.
Dans un tableau assez large, les noms sont en colonne A.
Actuellement j'ai le code suivant :
-------------------------------------
On Error Resume Next
NomATraiter = Application.InputBox _
(prompt:="Cliquer sur le nom à traiter." & vbLf & vbLf _
& "puis 'OK'" _
, Title:="NOM A TRAITER ?" _
LigneNom = Application.WorksheetFunction.Match(NomATraiter, _
Range("A1:A500"), 0)
If Err <> 0 Then Exit Sub
-------------------------------------
Dans ce cas l'InputBox donne en réponse le nom CLIQUÉ en COLONNE A
dont la ligne "LigneNom" est donnée par Application...Match.
Je souhaite obtenir le même résultat, mais en cliquant n'importe
quelle cellule de la ligne du nom (qui est très longue),selon les
colonnes observées.
Merci, Daniel, Peut-être à + ?
Daniel.C a écrit :???
Utilise alors :
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
et gère toi-même les cas où l'utilisateur ne saisis rien.
DanielBen oui, Daniel, mais quoi que je fasse, ça boucle !
Et puis, comme je l'expliquais, je souhaite faire une réponse par
clic sur n'importe quelle cellule de la ligne,
selon la disposition des infos du tableau.
Merci pour ton attention.
Daniel.C a écrit :Oups.
Dim Ligne As Long
On Error Resume Next
Do While Ligne = 0
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Ligne = 0 Then
MsgBox "Veuillez saisir une cellule"
End If
Loop
On Error GoTo 0
Le code boucle jusqu'à ce que l'utilisateur ait choisi une cellule
et cliqué sur OK.
Daniel
DanielBonjour.
On Error Resume Next
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Err.Number = 0 Then
Ligne = c.Row
Else
'...
End If
Cordialement.
DanielBonjour
Je voudrais utiliser une InputBox pour recueillir le numéro de la
ligne qui doit faire l'objet d'une procédure, avec le code
ci-dessous.
----------------------
Choix = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?"
----------------------
Si je clique sur la cellule G25, y a-t-il un code qui me donnerait :
Ligne = ........ (avec réponse = 25)
Bien sûr, je pourrais saisir directement le N° de la ligne, mais
c'est pour éviter des erreurs de saisie que je voudrais opérer
par un clic,
n'importe où sur la ligne, selon la disposition des infos à
considérer.
Merci et bonne journée
Te retourne le numéro de la ligne du coin supérieur gauche
que l'usager a sélectionné à l'aide de la procédure.
'----------------------------
Sub test()
Dim X As Range
On Error Resume Next
Set X = Application.InputBox(Prompt:="Cliquer sur une cellule", _
Type:=8)
If Err <> 0 Then
MsgBox "L'usager à cliquer sur annuler."
Exit Sub
Else
MsgBox X(1, 1).Row
End If
End Sub
'----------------------------
"LANIMAL" a écrit dans le message de news:
Voilà l'erreur :
Je travaille avec un dinosaure (Excel 2000)! ! !
qui ne comprend pas ...., Type:=8).Row,
du moins l'aide n'en parle pas,
et l'exécution de ton code me répond invariablement Ligne = 0
Je vais devoir passer à la caisse de Microsoft un de ces jours
pour rajeunir !
En attendant, j'ai eu l'idée de passer l'annonce :
"Sélectionner une cellule de la ligne à traiter."
à l'aide d'une TextBox placée dans un volet figé de la feuille,
de détecter la sélection par un code "SelectionChange"
et d'effacer la TextBox dans la suite du code.
Mais je ne sais pas comment écrire le code qui réalise cet effacement.
Alors, peut-être toi, tu sauras me dire ça,
....ou une autre solution...
Encore merci pour ton attention... persistante.
LANIMAL
Daniel.C a écrit :Est-ce que tu as testé mon code ? Il te renvoie le numéro de ligne de la
cellule sur laquelle tu as cliqué. Si tu cliques sur G25, la variable
Ligne est égale à 25. Ce que tu demandais.
DanielEffectivement, on ne se comprend pas,
je dis bien que je veux répondre par un CLIC.
Dans un tableau assez large, les noms sont en colonne A.
Actuellement j'ai le code suivant :
-------------------------------------
On Error Resume Next
NomATraiter = Application.InputBox _
(prompt:="Cliquer sur le nom à traiter." & vbLf & vbLf _
& "puis 'OK'" _
, Title:="NOM A TRAITER ?" _
LigneNom = Application.WorksheetFunction.Match(NomATraiter, _
Range("A1:A500"), 0)
If Err <> 0 Then Exit Sub
-------------------------------------
Dans ce cas l'InputBox donne en réponse le nom CLIQUÉ en COLONNE A
dont la ligne "LigneNom" est donnée par Application...Match.
Je souhaite obtenir le même résultat, mais en cliquant n'importe
quelle cellule de la ligne du nom (qui est très longue),selon les
colonnes observées.
Merci, Daniel, Peut-être à + ?
Daniel.C a écrit :???
Utilise alors :
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
et gère toi-même les cas où l'utilisateur ne saisis rien.
DanielBen oui, Daniel, mais quoi que je fasse, ça boucle !
Et puis, comme je l'expliquais, je souhaite faire une réponse par
clic sur n'importe quelle cellule de la ligne,
selon la disposition des infos du tableau.
Merci pour ton attention.
Daniel.C a écrit :Oups.
Dim Ligne As Long
On Error Resume Next
Do While Ligne = 0
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf
_
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Ligne = 0 Then
MsgBox "Veuillez saisir une cellule"
End If
Loop
On Error GoTo 0
Le code boucle jusqu'à ce que l'utilisateur ait choisi une cellule
et cliqué sur OK.
Daniel
DanielBonjour.
On Error Resume Next
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Err.Number = 0 Then
Ligne = c.Row
Else
'...
End If
Cordialement.
DanielBonjour
Je voudrais utiliser une InputBox pour recueillir le numéro de la
ligne qui doit faire l'objet d'une procédure, avec le code
ci-dessous.
----------------------
Choix = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?"
----------------------
Si je clique sur la cellule G25, y a-t-il un code qui me donnerait
:
Ligne = ........ (avec réponse = 25)
Bien sûr, je pourrais saisir directement le N° de la ligne, mais
c'est pour éviter des erreurs de saisie que je voudrais opérer
par un clic,
n'importe où sur la ligne, selon la disposition des infos à
considérer.
Merci et bonne journée
Te retourne le numéro de la ligne du coin supérieur gauche
que l'usager a sélectionné à l'aide de la procédure.
'----------------------------
Sub test()
Dim X As Range
On Error Resume Next
Set X = Application.InputBox(Prompt:="Cliquer sur une cellule", _
Type:=8)
If Err <> 0 Then
MsgBox "L'usager à cliquer sur annuler."
Exit Sub
Else
MsgBox X(1, 1).Row
End If
End Sub
'----------------------------
"LANIMAL" <noreply@xxx.yy> a écrit dans le message de news:
us7vVNmcJHA.2112@TK2MSFTNGP02.phx.gbl...
Voilà l'erreur :
Je travaille avec un dinosaure (Excel 2000)! ! !
qui ne comprend pas ...., Type:=8).Row,
du moins l'aide n'en parle pas,
et l'exécution de ton code me répond invariablement Ligne = 0
Je vais devoir passer à la caisse de Microsoft un de ces jours
pour rajeunir !
En attendant, j'ai eu l'idée de passer l'annonce :
"Sélectionner une cellule de la ligne à traiter."
à l'aide d'une TextBox placée dans un volet figé de la feuille,
de détecter la sélection par un code "SelectionChange"
et d'effacer la TextBox dans la suite du code.
Mais je ne sais pas comment écrire le code qui réalise cet effacement.
Alors, peut-être toi, tu sauras me dire ça,
....ou une autre solution...
Encore merci pour ton attention... persistante.
LANIMAL
Daniel.C a écrit :
Est-ce que tu as testé mon code ? Il te renvoie le numéro de ligne de la
cellule sur laquelle tu as cliqué. Si tu cliques sur G25, la variable
Ligne est égale à 25. Ce que tu demandais.
Daniel
Effectivement, on ne se comprend pas,
je dis bien que je veux répondre par un CLIC.
Dans un tableau assez large, les noms sont en colonne A.
Actuellement j'ai le code suivant :
-------------------------------------
On Error Resume Next
NomATraiter = Application.InputBox _
(prompt:="Cliquer sur le nom à traiter." & vbLf & vbLf _
& "puis 'OK'" _
, Title:="NOM A TRAITER ?" _
LigneNom = Application.WorksheetFunction.Match(NomATraiter, _
Range("A1:A500"), 0)
If Err <> 0 Then Exit Sub
-------------------------------------
Dans ce cas l'InputBox donne en réponse le nom CLIQUÉ en COLONNE A
dont la ligne "LigneNom" est donnée par Application...Match.
Je souhaite obtenir le même résultat, mais en cliquant n'importe
quelle cellule de la ligne du nom (qui est très longue),selon les
colonnes observées.
Merci, Daniel, Peut-être à + ?
Daniel.C a écrit :
???
Utilise alors :
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
et gère toi-même les cas où l'utilisateur ne saisis rien.
Daniel
Ben oui, Daniel, mais quoi que je fasse, ça boucle !
Et puis, comme je l'expliquais, je souhaite faire une réponse par
clic sur n'importe quelle cellule de la ligne,
selon la disposition des infos du tableau.
Merci pour ton attention.
Daniel.C a écrit :
Oups.
Dim Ligne As Long
On Error Resume Next
Do While Ligne = 0
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf
_
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Ligne = 0 Then
MsgBox "Veuillez saisir une cellule"
End If
Loop
On Error GoTo 0
Le code boucle jusqu'à ce que l'utilisateur ait choisi une cellule
et cliqué sur OK.
Daniel
Daniel
Bonjour.
On Error Resume Next
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Err.Number = 0 Then
Ligne = c.Row
Else
'...
End If
Cordialement.
Daniel
Bonjour
Je voudrais utiliser une InputBox pour recueillir le numéro de la
ligne qui doit faire l'objet d'une procédure, avec le code
ci-dessous.
----------------------
Choix = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?"
----------------------
Si je clique sur la cellule G25, y a-t-il un code qui me donnerait
:
Ligne = ........ (avec réponse = 25)
Bien sûr, je pourrais saisir directement le N° de la ligne, mais
c'est pour éviter des erreurs de saisie que je voudrais opérer
par un clic,
n'importe où sur la ligne, selon la disposition des infos à
considérer.
Merci et bonne journée
Te retourne le numéro de la ligne du coin supérieur gauche
que l'usager a sélectionné à l'aide de la procédure.
'----------------------------
Sub test()
Dim X As Range
On Error Resume Next
Set X = Application.InputBox(Prompt:="Cliquer sur une cellule", _
Type:=8)
If Err <> 0 Then
MsgBox "L'usager à cliquer sur annuler."
Exit Sub
Else
MsgBox X(1, 1).Row
End If
End Sub
'----------------------------
"LANIMAL" a écrit dans le message de news:
Voilà l'erreur :
Je travaille avec un dinosaure (Excel 2000)! ! !
qui ne comprend pas ...., Type:=8).Row,
du moins l'aide n'en parle pas,
et l'exécution de ton code me répond invariablement Ligne = 0
Je vais devoir passer à la caisse de Microsoft un de ces jours
pour rajeunir !
En attendant, j'ai eu l'idée de passer l'annonce :
"Sélectionner une cellule de la ligne à traiter."
à l'aide d'une TextBox placée dans un volet figé de la feuille,
de détecter la sélection par un code "SelectionChange"
et d'effacer la TextBox dans la suite du code.
Mais je ne sais pas comment écrire le code qui réalise cet effacement.
Alors, peut-être toi, tu sauras me dire ça,
....ou une autre solution...
Encore merci pour ton attention... persistante.
LANIMAL
Daniel.C a écrit :Est-ce que tu as testé mon code ? Il te renvoie le numéro de ligne de la
cellule sur laquelle tu as cliqué. Si tu cliques sur G25, la variable
Ligne est égale à 25. Ce que tu demandais.
DanielEffectivement, on ne se comprend pas,
je dis bien que je veux répondre par un CLIC.
Dans un tableau assez large, les noms sont en colonne A.
Actuellement j'ai le code suivant :
-------------------------------------
On Error Resume Next
NomATraiter = Application.InputBox _
(prompt:="Cliquer sur le nom à traiter." & vbLf & vbLf _
& "puis 'OK'" _
, Title:="NOM A TRAITER ?" _
LigneNom = Application.WorksheetFunction.Match(NomATraiter, _
Range("A1:A500"), 0)
If Err <> 0 Then Exit Sub
-------------------------------------
Dans ce cas l'InputBox donne en réponse le nom CLIQUÉ en COLONNE A
dont la ligne "LigneNom" est donnée par Application...Match.
Je souhaite obtenir le même résultat, mais en cliquant n'importe
quelle cellule de la ligne du nom (qui est très longue),selon les
colonnes observées.
Merci, Daniel, Peut-être à + ?
Daniel.C a écrit :???
Utilise alors :
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
et gère toi-même les cas où l'utilisateur ne saisis rien.
DanielBen oui, Daniel, mais quoi que je fasse, ça boucle !
Et puis, comme je l'expliquais, je souhaite faire une réponse par
clic sur n'importe quelle cellule de la ligne,
selon la disposition des infos du tableau.
Merci pour ton attention.
Daniel.C a écrit :Oups.
Dim Ligne As Long
On Error Resume Next
Do While Ligne = 0
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." & vbLf
_
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Ligne = 0 Then
MsgBox "Veuillez saisir une cellule"
End If
Loop
On Error GoTo 0
Le code boucle jusqu'à ce que l'utilisateur ait choisi une cellule
et cliqué sur OK.
Daniel
DanielBonjour.
On Error Resume Next
Ligne = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?", Type:=8).Row
If Err.Number = 0 Then
Ligne = c.Row
Else
'...
End If
Cordialement.
DanielBonjour
Je voudrais utiliser une InputBox pour recueillir le numéro de la
ligne qui doit faire l'objet d'une procédure, avec le code
ci-dessous.
----------------------
Choix = Application.InputBox _
(prompt:="Cliquer sur une cellule de la ligne à traiter." &
vbLf _
& "puis 'OK'", Title:="LIGNE A TRAITER ?"
----------------------
Si je clique sur la cellule G25, y a-t-il un code qui me donnerait
:
Ligne = ........ (avec réponse = 25)
Bien sûr, je pourrais saisir directement le N° de la ligne, mais
c'est pour éviter des erreurs de saisie que je voudrais opérer
par un clic,
n'importe où sur la ligne, selon la disposition des infos à
considérer.
Merci et bonne journée