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

Boite ou feuil

10 réponses
Avatar
Manu
Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite de
choisir entre ces deux options : Soit ma procedure doit travailler sur ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu

10 réponses

Avatar
DanielCo
Bonjour,
qu'est-ce que tu entends par "feuille précédente" ? la feuille
précédant la feuille active ? dans la macro suivante reprenant le code
de Jacky, la variable "var" permet de savoir si on doit traiter la
feuille précédente ou le fichier à ouvrir :

Sub test()
Dim sh As Worksheet, var As Boolean
Set sh = ActiveSheet.Previous
If var = True Then ' à modifier, condition permettant
'de savoir si doit ouvrir un fichier
ChDrive "c:"
ChDir "c:Rapport" ' a adapter
fichier = Application.GetOpenFilename("(*.xls), *.xls")
If fichier = False Then Exit Sub
MsgBox "Ouvrir " & fichier '***supprimer après text
Workbooks.Open Filename:=fichier '** Valider après test
Set sh = Sheets("Feuil1") ' à modifier
End If
' Suite de la macro
'travailler avec la feuille sh dans les deux cas
End Sub

Cordialement.
Daniel


Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce poursuive,
mais es t'il possible d'avoir avant qu'il m'ouvre cette boite de choisir
entre ces deux options : Soit ma procedure doit travailler sur ma feuil
precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la procedure
se fera soit dans un nouveau fichier soit sur le meme fichier de la feuil
precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu
Avatar
Manu
Bonjour Daniel,

Oui, c'est avec la feuil precedente de où je suis, mais j'ai installer ta
procedure, et il ne fait rien, il ne me demande pas si je dois ouvrir un
nouveau fichier ou aller sur la feuil precedente.

Merci

Manu

"DanielCo" a écrit dans le message de news:
in9j7e$pqu$
Bonjour,
qu'est-ce que tu entends par "feuille précédente" ? la feuille précédant
la feuille active ? dans la macro suivante reprenant le code de Jacky, la
variable "var" permet de savoir si on doit traiter la feuille précédente
ou le fichier à ouvrir :

Sub test()
Dim sh As Worksheet, var As Boolean
Set sh = ActiveSheet.Previous
If var = True Then ' à modifier, condition permettant
'de savoir si doit ouvrir un fichier
ChDrive "c:"
ChDir "c:Rapport" ' a adapter
fichier = Application.GetOpenFilename("(*.xls), *.xls")
If fichier = False Then Exit Sub
MsgBox "Ouvrir " & fichier '***supprimer après text
Workbooks.Open Filename:=fichier '** Valider après test
Set sh = Sheets("Feuil1") ' à modifier
End If
' Suite de la macro
'travailler avec la feuille sh dans les deux cas
End Sub

Cordialement.
Daniel


Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre la boite "ouvrir" pour choisir un fichier afin que ma procedure
ce poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette
boite de choisir entre ces deux options : Soit ma procedure doit
travailler sur ma feuil precedente soit j'ouvre la boite "ouvrir" et
ainsi la suite de la procedure se fera soit dans un nouveau fichier soit
sur le meme fichier de la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu




Avatar
MichD
Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index > 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont acceptables." _
& vbCrLf & vbCrLf & "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion : 4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite de
choisir entre ces deux options : Soit ma procedure doit travailler sur ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu
Avatar
DanielCo
je ne sais pas quand tu dois travailler sur le fichier actuel ou sur un
autre; je teste la variable "var" pour faire soit l'un, soit l'autre; à
toi de l'initialiser suivant ton besoin.
Daniel


Bonjour Daniel,

Oui, c'est avec la feuil precedente de où je suis, mais j'ai installer ta
procedure, et il ne fait rien, il ne me demande pas si je dois ouvrir un
nouveau fichier ou aller sur la feuil precedente.

Merci

Manu

"DanielCo" a écrit dans le message de news:
in9j7e$pqu$
Bonjour,
qu'est-ce que tu entends par "feuille précédente" ? la feuille précédant la
feuille active ? dans la macro suivante reprenant le code de Jacky, la
variable "var" permet de savoir si on doit traiter la feuille précédente ou
le fichier à ouvrir :

Sub test()
Dim sh As Worksheet, var As Boolean
Set sh = ActiveSheet.Previous
If var = True Then ' à modifier, condition permettant
'de savoir si doit ouvrir un fichier
ChDrive "c:"
ChDir "c:Rapport" ' a adapter
fichier = Application.GetOpenFilename("(*.xls), *.xls")
If fichier = False Then Exit Sub
MsgBox "Ouvrir " & fichier '***supprimer après text
Workbooks.Open Filename:=fichier '** Valider après test
Set sh = Sheets("Feuil1") ' à modifier
End If
' Suite de la macro
'travailler avec la feuille sh dans les deux cas
End Sub

Cordialement.
Daniel


Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de choisir entre ces deux options : Soit ma procedure doit travailler sur
ma feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu




Avatar
Manu
Merci,

C'est exactement ce que je souhaitais, merci à vous deux, je peux desormais
continuer ma procedure.
Bonne fin de dimanche

Manu

"MichD" a écrit dans le message de news:
in9lha$vda$
Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index > 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont
acceptables." _
& vbCrLf & vbCrLf & "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion :
4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de
choisir entre ces deux options : Soit ma procedure doit travailler sur ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu

Avatar
Péhemme
Bonjour Denis, bonjour à tous,

Voilà un point intéressant.
Dans l'InputBox, le prompt rédigé comme suit :
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur ? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur."
n'est pas visible en son entier (manque la dernière ligne).
En revanche, libellé comme suit, il l'est :
X = Application.InputBox("La suite de macro doit s'exécute sur la feuille
précédente" & _
" du classeur actuel ou dans un autre classeur ?" & vbCrLf & _
" Inscrivez ""1"" ou ""2"" selon votre choix." & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur
Tout autant de caractères, mais moins de lignes.
Quelles sont en réalité les limites du Prompt d'une InputBox ?
L'aide mentionne 1024 caractères, mais reste muette quant au nombre de
lignes.
Cette limite semble être largement inférieure à ce qui est annoncé.
Avez-vous une expérience à ce sujet ?
Michel






"MichD" a écrit dans le message de
news:in9lha$vda$
Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index > 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont
acceptables." _
& vbCrLf & vbCrLf & "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion :
4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de
choisir entre ces deux options : Soit ma procedure doit travailler sur ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu

Avatar
MichD
Bonjour,

J'ai testé la procédure sous Excel 2007 et là, il n'y a pas de problème
avec la formulation du message. Je constate le même phénomène que
toi avec Excel 2003. Si tu calcules le nombre de lignes avec Excel 2003, cela
donne droit à environ 5 à 6 lignes avec texte ou vide avec "Application.inputbox".

Avec Excel 2007, j'ai fait un petit test et cela donne environ 27-28 lignes.

Il y a toujours la possibilité d'utiliser un formulaire pour les cas spéciaux!

MichD
--------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion : 4d989a81$0$7715$

Bonjour Denis, bonjour à tous,

Voilà un point intéressant.
Dans l'InputBox, le prompt rédigé comme suit :
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur ? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur."
n'est pas visible en son entier (manque la dernière ligne).
En revanche, libellé comme suit, il l'est :
X = Application.InputBox("La suite de macro doit s'exécute sur la feuille
précédente" & _
" du classeur actuel ou dans un autre classeur ?" & vbCrLf & _
" Inscrivez ""1"" ou ""2"" selon votre choix." & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur
Tout autant de caractères, mais moins de lignes.
Quelles sont en réalité les limites du Prompt d'une InputBox ?
L'aide mentionne 1024 caractères, mais reste muette quant au nombre de
lignes.
Cette limite semble être largement inférieure à ce qui est annoncé.
Avez-vous une expérience à ce sujet ?
Michel






"MichD" a écrit dans le message de
news:in9lha$vda$
Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index > 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont
acceptables." _
& vbCrLf & vbCrLf & "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion :
4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de
choisir entre ces deux options : Soit ma procedure doit travailler sur ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu

Avatar
Péhemme
Merci de l'information.
Je n'ai que Excel 2003...
Je n'avais jamais atteins cette limite en terme de lignes jusqu'à ce jour ;
ma question était donc de la pure curiosité.
Merci encore et bon dimanche.
Bien amicalement
Michel


"MichD" a écrit dans le message de
news:ina7jo$cch$
Bonjour,

J'ai testé la procédure sous Excel 2007 et là, il n'y a pas de problème
avec la formulation du message. Je constate le même phénomène que
toi avec Excel 2003. Si tu calcules le nombre de lignes avec Excel 2003,
cela
donne droit à environ 5 à 6 lignes avec texte ou vide avec
"Application.inputbox".

Avec Excel 2007, j'ai fait un petit test et cela donne environ 27-28
lignes.

Il y a toujours la possibilité d'utiliser un formulaire pour les cas
spéciaux!

MichD
--------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
4d989a81$0$7715$

Bonjour Denis, bonjour à tous,

Voilà un point intéressant.
Dans l'InputBox, le prompt rédigé comme suit :
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur ? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur."
n'est pas visible en son entier (manque la dernière ligne).
En revanche, libellé comme suit, il l'est :
X = Application.InputBox("La suite de macro doit s'exécute sur la feuille
précédente" & _
" du classeur actuel ou dans un autre classeur ?" & vbCrLf & _
" Inscrivez ""1"" ou ""2"" selon votre choix." & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur
Tout autant de caractères, mais moins de lignes.
Quelles sont en réalité les limites du Prompt d'une InputBox ?
L'aide mentionne 1024 caractères, mais reste muette quant au nombre de
lignes.
Cette limite semble être largement inférieure à ce qui est annoncé.
Avez-vous une expérience à ce sujet ?
Michel






"MichD" a écrit dans le message de
news:in9lha$vda$
Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index > 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont
acceptables." _
& vbCrLf & vbCrLf & "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion :
4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de
choisir entre ces deux options : Soit ma procedure doit travailler sur ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier
de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu

Avatar
Mgr T. Plubanni
je mimimisce
il en est de même, je pense, pour les MsgBox pour qui la rédaction des
macros refuse d'aller au-delà d'un certain nombre de retours à la ligne (que
j'estime à 24) ; on évite le schisme en faisant ce qu'a fait l'homme qui
s'accroche, à savoir prolonger les lignes, ce qui a, pour effet négatif, de
devoir jouer de l'ascenseur horizontal dans VBA....mais, comme moi, je
travaille couché, ça ne me gêne pas

Mgr T. P.

"Péhemme" a écrit dans le message de news:
4d98a883$0$32431$
Merci de l'information.
Je n'ai que Excel 2003...
Je n'avais jamais atteins cette limite en terme de lignes jusqu'à ce jour
; ma question était donc de la pure curiosité.
Merci encore et bon dimanche.
Bien amicalement
Michel


"MichD" a écrit dans le message de
news:ina7jo$cch$
Bonjour,

J'ai testé la procédure sous Excel 2007 et là, il n'y a pas de problème
avec la formulation du message. Je constate le même phénomène que
toi avec Excel 2003. Si tu calcules le nombre de lignes avec Excel 2003,
cela
donne droit à environ 5 à 6 lignes avec texte ou vide avec
"Application.inputbox".

Avec Excel 2007, j'ai fait un petit test et cela donne environ 27-28
lignes.

Il y a toujours la possibilité d'utiliser un formulaire pour les cas
spéciaux!

MichD
--------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
4d989a81$0$7715$

Bonjour Denis, bonjour à tous,

Voilà un point intéressant.
Dans l'InputBox, le prompt rédigé comme suit :
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur ? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur."
n'est pas visible en son entier (manque la dernière ligne).
En revanche, libellé comme suit, il l'est :
X = Application.InputBox("La suite de macro doit s'exécute sur la feuille
précédente" & _
" du classeur actuel ou dans un autre classeur ?" & vbCrLf & _
" Inscrivez ""1"" ou ""2"" selon votre choix." & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur
Tout autant de caractères, mais moins de lignes.
Quelles sont en réalité les limites du Prompt d'une InputBox ?
L'aide mentionne 1024 caractères, mais reste muette quant au nombre de
lignes.
Cette limite semble être largement inférieure à ce qui est annoncé.
Avez-vous une expérience à ce sujet ?
Michel






"MichD" a écrit dans le message de
news:in9lha$vda$
Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index > 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute" & _
" sur la feuille précédente du classeur actuel ou sur" & _
" dans un autre classeur? Inscrivez ""1"" ou ""2""" & _
" selon votre choix." & vbCrLf & vbCrLf & _
"1. Sur la feuille précédente. " & vbCrLf & _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont
acceptables." _
& vbCrLf & vbCrLf & "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion :
4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de
choisir entre ces deux options : Soit ma procedure doit travailler sur
ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier
de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu






Avatar
isabelle
salutatous,

ça vari, sur xl2002
ça s'arrete ici : T’es peut-etre pas beau mais je te trouve bin élevé, pis t

Sub test()
MsgBox "Ton beurre est dur pis tes toast son brûlées" & Chr(10) & _
"Ton lait est sûr, ton jaune d’œuf est crevé" & Chr(10) & _
"T 'as pus d’eau chaude pour te faire un café instantané" & Chr(10) & _
"You’re a frog, I’m a frog, kiss me" & Chr(10) & _
"And i’ll turn into a prince suddendly" & Chr(10) & _
"Donne-moi des peanuts, j’m’en va te chanter Alouette sans fausse note"
& Chr(10) & _
"Sept heures et quart, t’embarques dans l’autobus" & Chr(10) & _
"Ton sight seeing tour pour aller travailler" & Chr(10) & _
"Un beau voyage en groupe organisé comme toué matins" & Chr(10) & _
"You’re a frog, I’m a frog, kiss me" & Chr(10) & _
"And i’ll turn into a prince suddendly" & Chr(10) & _
"Donne-moi des peanuts, j’m’en va te chanter Alouette sans fausse note"
& Chr(10) & _
"Ton boss est dur, l’hiver il va se promener" & Chr(10) & _
"Su’a Cote d’azur pendant qu’il te fait chomer" & Chr(10) & _
"Pis le reste du temps y te fait trop travailler, toé, tu te plains pas"
& Chr(10) & _
"You’re a frog, I’m a frog, kiss me" & Chr(10) & _
"And i’ll turn into a prince suddendly" & Chr(10) & _
"Donne-moi des peanuts, j’m’en va te chanter Alouette sans fausse note"
& Chr(10) & _
"Ta femme fais dure, toé, on te traite de nono" & Chr(10) & _
"Ton petit dernier a la guédille au nez" & Chr(10) & _
"T’es peut-etre pas beau mais je te trouve bin élevé, pis tu chiâles
pas" & Chr(10) & _
"You’re a frog, I’m a frog, kiss me" & Chr(10) & _
"And i’ll turn into a prince suddendly" & Chr(10) & _
"Donne-moi des peanuts, j’m’en va te chanter Alouette sans fausse note"
& Chr(10) & _
"avec tous ça on est à la 25ème ligne"
End Sub

isabelle
------------------------------------------------------------------

Le 2011-04-04 01:50, Mgr T. Plubanni a écrit :
je mimimisce
il en est de même, je pense, pour les MsgBox pour qui la rédaction des
macros refuse d'aller au-delà d'un certain nombre de retours à la ligne (que
j'estime à 24) ; on évite le schisme en faisant ce qu'a fait l'homme qui
s'accroche, à savoir prolonger les lignes, ce qui a, pour effet négatif, de
devoir jouer de l'ascenseur horizontal dans VBA....mais, comme moi, je
travaille couché, ça ne me gêne pas

Mgr T. P.

"Péhemme" a écrit dans le message de news:
4d98a883$0$32431$

Merci de l'information.
Je n'ai que Excel 2003...
Je n'avais jamais atteins cette limite en terme de lignes jusqu'à ce jour
; ma question était donc de la pure curiosité.
Merci encore et bon dimanche.
Bien amicalement
Michel


"MichD" a écrit dans le message de
news:ina7jo$cch$

Bonjour,

J'ai testé la procédure sous Excel 2007 et là, il n'y a pas de problème
avec la formulation du message. Je constate le même phénomène que
toi avec Excel 2003. Si tu calcules le nombre de lignes avec Excel 2003,
cela
donne droit à environ 5 à 6 lignes avec texte ou vide avec
"Application.inputbox".

Avec Excel 2007, j'ai fait un petit test et cela donne environ 27-28
lignes.

Il y a toujours la possibilité d'utiliser un formulaire pour les cas
spéciaux!

MichD
--------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
4d989a81$0$7715$

Bonjour Denis, bonjour à tous,

Voilà un point intéressant.
Dans l'InputBox, le prompt rédigé comme suit :
X = Application.InputBox("La suite de macro doit s'exécute"& _
" sur la feuille précédente du classeur actuel ou sur"& _
" dans un autre classeur ? Inscrivez ""1"" ou ""2"""& _
" selon votre choix."& vbCrLf& vbCrLf& _
"1. Sur la feuille précédente. "& vbCrLf& _
"2. Dans un nouveau classeur."
n'est pas visible en son entier (manque la dernière ligne).
En revanche, libellé comme suit, il l'est :
X = Application.InputBox("La suite de macro doit s'exécute sur la feuille
précédente"& _
" du classeur actuel ou dans un autre classeur ?"& vbCrLf& _
" Inscrivez ""1"" ou ""2"" selon votre choix."& vbCrLf& _
"1. Sur la feuille précédente. "& vbCrLf& _
"2. Dans un nouveau classeur
Tout autant de caractères, mais moins de lignes.
Quelles sont en réalité les limites du Prompt d'une InputBox ?
L'aide mentionne 1024 caractères, mais reste muette quant au nombre de
lignes.
Cette limite semble être largement inférieure à ce qui est annoncé.
Avez-vous une expérience à ce sujet ?
Michel






"MichD" a écrit dans le message de
news:in9lha$vda$

Bonjour,


Sub test()
Dim X As Variant, Ok As Boolean
'Si la feuille active n'est pas
'la première feuille du classeur
If ActiveSheet.Index> 1 Then
Do
X = Application.InputBox("La suite de macro doit s'exécute"& _
" sur la feuille précédente du classeur actuel ou sur"& _
" dans un autre classeur? Inscrivez ""1"" ou ""2"""& _
" selon votre choix."& vbCrLf& vbCrLf& _
"1. Sur la feuille précédente. "& vbCrLf& _
"2. Dans un nouveau classeur.", _
Title:="Votre choix...", Type:=1)
Select Case X
Case False
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Case 1
ActiveSheet.Previous.Select
Ok = True
Case 2
'Procédure pour ouvrir le fichier
Ok = True
Case Else
If MsgBox("Seules les valeurs ""1"" ou ""2"" sont
acceptables." _
& vbCrLf& vbCrLf& "Désirez-vous corriger?", _
vbCritical + vbYesNo, "Attention") = vbNo Then
MsgBox "Opération annulée.", _
vbInformation + vbOKOnly, "Attention"
Exit Sub
Else
Ok = False
End If
End Select
Loop Until Ok = True
End If

'Le reste de la macro

End Sub




MichD
--------------------------------------------
"Manu" a écrit dans le message de groupe de discussion :
4d984320$0$7717$

Bonjour,

Encore un soucis, et de taille, vous m'avez deja aidé pour qu'excel
m'ouvre
la boite "ouvrir" pour choisir un fichier afin que ma procedure ce
poursuive, mais es t'il possible d'avoir avant qu'il m'ouvre cette boite
de
choisir entre ces deux options : Soit ma procedure doit travailler sur
ma
feuil precedente soit j'ouvre la boite "ouvrir" et ainsi la suite de la
procedure se fera soit dans un nouveau fichier soit sur le meme fichier
de
la feuil precedente.

Encore merci de toutes vos aides ainsi que vos explications

Manu