Message box et reference de cellule

Le
nicolas S2
bonjour,
La question et dans le code

Sub modif_travail_QuandClic()

Dim li

Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valeur de la
cellule
'corespond au N° de la ligne (sur une autre
feuille)
'des valeurs trouvées par index-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la cellule
active en début de code

End Sub

merci de vos réponses
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #4446321
Bonjour,
Par exemple, sans avoir testé tout le code

en début de macro
x = ActiveCell.Address

et en fin de macro
Range(x).Activate
ou
Range(x).Select

--
Salutations
JJ



"nicolas S2" news: 4622042b$0$29881$
bonjour,
La question et dans le code

Sub modif_travail_QuandClic()

Dim li

Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valeur de la
cellule
'corespond au N° de la ligne (sur une autre
feuille)
'des valeurs trouvées par index-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la cellule
active en début de code

End Sub

merci de vos réponses





Jacky
Le #4446291
Et avec une demande sous forme de Msgbox
en fin de macro
'-----
If MsgBox("Voulez-vous revenir en " & x, 4) = 6 Then Range(x).Activate
'--------
--
Salutations
JJ



"Jacky"
Bonjour,
Par exemple, sans avoir testé tout le code

en début de macro
x = ActiveCell.Address

et en fin de macro
Range(x).Activate
ou
Range(x).Select

--
Salutations
JJ



"nicolas S2" news: 4622042b$0$29881$
bonjour,
La question et dans le code

Sub modif_travail_QuandClic()

Dim li

Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valeur de la
cellule
'corespond au N° de la ligne (sur une
autre
feuille)
'des valeurs trouvées par index-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la cellule
active en début de code

End Sub

merci de vos réponses









nicolas S2
Le #4446171
Merci pour ta réponse

J'ai fait ceci

Sub modif_travail_QuandClic()

Dim li, x
x = ActiveCell.Address
Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valleur de la
cellule
'corespond au N° de la ligne (sur une autre
feuille)
'des valleurs trouvée parindex-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la dellule
active en début de code


If MsgBox("Voulez-vous revenir au tableau précédent ", 4) = 6 Then
Sheets("utilisation").Select
Range(x).Activate


End Sub
A+
nicolas S2
Le #4446141
Je reviens......... avec un autre problème.

Pour rendre la feuille active il faut que le MsgBox ne soit plus visible.

Je n'ai pas compris pour utiliser l'argument modal (ci c'est bien celui la
concerne le paramètre)




"nicolas S2" news: 46223c74$0$27205$
Merci pour ta réponse

J'ai fait ceci

Sub modif_travail_QuandClic()

Dim li, x
x = ActiveCell.Address
Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valleur de la
cellule
'corespond au N° de la ligne (sur une autre
feuille)
'des valleurs trouvée parindex-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la dellule
active en début de code


If MsgBox("Voulez-vous revenir au tableau précédent ", 4) = 6 Then
Sheets("utilisation").Select Range(x).Activate


End Sub
A+





Jacky
Le #4446101
RE...
'------------------
Sub modif_travail_QuandClic()
Dim li
x$ = ActiveCell.Address
y$ = ActiveSheet.Name
'--------
'--------
'--------
'-------
If MsgBox("Voulez-vous revenir au tableau précédent ", 4) = 6 Then
Sheets(y).Select
Range(x).Select
End If
End Sub
'-------------

--
Salutations
JJ



"nicolas S2" news: 46223c74$0$27205$
Merci pour ta réponse

J'ai fait ceci

Sub modif_travail_QuandClic()

Dim li, x
x = ActiveCell.Address
Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valleur de la
cellule
'corespond au N° de la ligne (sur une autre
feuille)
'des valleurs trouvée parindex-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la dellule
active en début de code


If MsgBox("Voulez-vous revenir au tableau précédent ", 4) = 6 Then
Sheets("utilisation").Select
Range(x).Activate


End Sub
A+





nicolas S2
Le #4446061
Bonsoir,

En fait après avoir cliqué sur le bouton de commande je souhaite aller à la
ligne sélectionnée de la base de donnée dans une autre feuille pour la
modifier ou non. Et après modif ou non en cliquant OK sur le msgbox, revenir
au tableau initial. (cela marche)

Le problème est que tant que le msgbox est visible, la feuille n'est pas
active et donc non modifiable. Ma question est donc : est il possible de
travailler sur une feuille pendant l'affichage d'un msgbox ?



Merci de ton appréciable aide.

"Jacky"
RE...
'------------------
Sub modif_travail_QuandClic()
Dim li
x$ = ActiveCell.Address
y$ = ActiveSheet.Name
'--------
'--------
'--------
'-------
If MsgBox("Voulez-vous revenir au tableau précédent ", 4) = 6 Then
Sheets(y).Select
Range(x).Select
End If
End Sub
'-------------

--
Salutations
JJ



"nicolas S2" news: 46223c74$0$27205$
Merci pour ta réponse

J'ai fait ceci

Sub modif_travail_QuandClic()

Dim li, x
x = ActiveCell.Address
Selection.End(xlToLeft).Select

li = ActiveCell.Value + 42 'à la gauche de le ligne, la valleur de la
cellule
'corespond au N° de la ligne (sur une
autre feuille)
'des valleurs trouvée parindex-equiv
Application.Goto Reference:="annee"
ActiveCell.Offset(li, -1).Select
'en fin de code, je souhaiterai avoir un
message box
'qui me propose de revenir à la dellule
active en début de code


If MsgBox("Voulez-vous revenir au tableau précédent ", 4) = 6 Then
Sheets("utilisation").Select
Range(x).Activate


End Sub
A+









Modeste
Le #4446041
Bonsour® nicolas S2 avec ferveur ;o))) vous nous disiez :

Le problème est que tant que le msgbox est visible, la feuille n'est pas
active et donc non modifiable. Ma question est donc : est il possible de
travailler sur une feuille pendant l'affichage d'un msgbox ?


la réponse est NON !!!

par défaut : 0 vbApplicationModal
Boîte de dialogue modale.
L'utilisateur doit répondre au message affiché dans la zone de message avant de
pouvoir continuer de travailler dans l'application en cours.

on peut même faire pire ;o)))
4096 vbSystemModal
Modal système.
Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde
au message affiché dans la zone de message


Le contournement est possible (au-dela de EXCEL 97) par un userform personnalisé
mimant la MsgBox (par exemple USF_Msgbx) et en indiquant que son affichage est
modal ou pas
USF_Msgbx .ShowModalúlse


--
--
@+
;o)))

nicolas S2
Le #4446021
Merci pour vos pertinentes et efficaces réponses dominicales.

Je vais chercher dans cette direction. Il va falloir que je me débrouille
pour que l'adresse d'origine soit connue dans le code de l'userform.



Merci et bonne soirée.



"Modeste"
Bonsour® nicolas S2 avec ferveur ;o))) vous nous disiez :

Le problème est que tant que le msgbox est visible, la feuille n'est pas
active et donc non modifiable. Ma question est donc : est il possible de
travailler sur une feuille pendant l'affichage d'un msgbox ?


la réponse est NON !!!

par défaut : 0 vbApplicationModal
Boîte de dialogue modale.
L'utilisateur doit répondre au message affiché dans la zone de message
avant de pouvoir continuer de travailler dans l'application en cours.

on peut même faire pire ;o)))
4096 vbSystemModal
Modal système.
Toutes les applications sont interrompues jusqu'à ce que l'utilisateur
réponde au message affiché dans la zone de message


Le contournement est possible (au-dela de EXCEL 97) par un userform
personnalisé mimant la MsgBox (par exemple USF_Msgbx) et en indiquant que
son affichage est modal ou pas
USF_Msgbx .ShowModalúlse


--
--
@+
;o)))





nicolas S2
Le #4445901
Bonsoir modest,

sur EXCEL 2003, j'ai fait comme ceci:

Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow Lib "User32" _
(ByVal hWnd As Long, ByVal bEnable As Long) As Long




Private Sub UserForm_Activate()
EnableWindow FindWindowA("XLMAIN", Application.Caption), 1


End Sub

C'est ce que j'ai fait il y a quelques années après des conseils obtenus
ici.
Merci à vous tous
Bonne soirée, bonne nuit, bonne digestion, et bonne................

"Modeste"
Bonsour® nicolas S2 avec ferveur ;o))) vous nous disiez :

Le problème est que tant que le msgbox est visible, la feuille n'est pas
active et donc non modifiable. Ma question est donc : est il possible de
travailler sur une feuille pendant l'affichage d'un msgbox ?


la réponse est NON !!!

par défaut : 0 vbApplicationModal
Boîte de dialogue modale.
L'utilisateur doit répondre au message affiché dans la zone de message
avant de pouvoir continuer de travailler dans l'application en cours.

on peut même faire pire ;o)))
4096 vbSystemModal
Modal système.
Toutes les applications sont interrompues jusqu'à ce que l'utilisateur
réponde au message affiché dans la zone de message


Le contournement est possible (au-dela de EXCEL 97) par un userform
personnalisé mimant la MsgBox (par exemple USF_Msgbx) et en indiquant que
son affichage est modal ou pas
USF_Msgbx .ShowModalúlse


--
--
@+
;o)))





nicolas S2
Le #4445791
Bonjour,

C'est bizarre, ce que j'ai fait marche bien dans un autre classeur mais pas
dans celui-la.

La feuille est «un peut» active, c'est-à-dire que je peut cliquer sur la
feuille, déplacer la cellule active avec le clavier ou la souri, mais pas
modifier le contenu d'une cellule.



Bonne journée

"nicolas S2" news: 462285ae$0$28135$
Bonsoir modest,

sur EXCEL 2003, j'ai fait comme ceci:

Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Declare Function EnableWindow Lib "User32" _
(ByVal hWnd As Long, ByVal bEnable As Long) As Long




Private Sub UserForm_Activate()
EnableWindow FindWindowA("XLMAIN", Application.Caption), 1


End Sub

C'est ce que j'ai fait il y a quelques années après des conseils obtenus
ici.
Merci à vous tous
Bonne soirée, bonne nuit, bonne digestion, et bonne................

"Modeste"
Bonsour® nicolas S2 avec ferveur ;o))) vous nous disiez :

Le problème est que tant que le msgbox est visible, la feuille n'est pas
active et donc non modifiable. Ma question est donc : est il possible de
travailler sur une feuille pendant l'affichage d'un msgbox ?


la réponse est NON !!!

par défaut : 0 vbApplicationModal
Boîte de dialogue modale.
L'utilisateur doit répondre au message affiché dans la zone de message
avant de pouvoir continuer de travailler dans l'application en cours.

on peut même faire pire ;o)))
4096 vbSystemModal
Modal système.
Toutes les applications sont interrompues jusqu'à ce que l'utilisateur
réponde au message affiché dans la zone de message


Le contournement est possible (au-dela de EXCEL 97) par un userform
personnalisé mimant la MsgBox (par exemple USF_Msgbx) et en indiquant que
son affichage est modal ou pas
USF_Msgbx .ShowModalúlse


--
--
@+
;o)))









Publicité
Poster une réponse
Anonyme