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

erreur sur methode "Range"

11 réponses
Avatar
eneric
Bonsoir,
voila je seche sur une erreur de code
a la ligne 16 >>> Range("D4:E403") .Select
merci du petit coup de main

Private Sub CommandButton1_Click()
'Effacer les participants
Dim Msg, Style, Title, Response, MyString
Msg = "Attention vous allez effacer !!!" & Chr(10) & Chr(10) & "les
inscrits de la sortie" & Chr(10) & _
Chr(10) & "Voulez vous continuer ?" ' Définit le message.
Style = vbYesNo + vbExclamation + vbDefaultButton2 ' Définit les
boutons.
Title = "V-S Effacement des participants " ' Définit le titre.

' Affiche le message.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ' L'utilisateur a choisi Oui.
MyString = "Oui"
Sheets("Base Données").Select
Range("D4:E403").Select
Selection.ClearContents
ActiveWindow.LargeScroll Down:=-22
Range("E4").Select
Sheets("Accueil").Select
' Effectue une action.
Else ' L'utilisateur a choisi Non.
MyString = "Non" ' Effectue une action.
Sheets("Accueil").Select
End If
End Sub

--
eneric

10 réponses

1 2
Avatar
eneric
eneric à dit
et puis aussi
j'ai mis ce code dans le UserForm
ActiveWorkbook.Close False 'ferme le fichier
application.Quit 'quitte Exel
mais excel ne ferme pas pourquoi?
merci

--
eneric
Avatar
MichDenis
Essaie avec cette syntaxe :

Private Sub CommandButton1_Click()
'Effacer les participants
Dim Msg, Style, Title, Response, MyString

' Définit le message.
Msg = "Attention vous allez effacer !!!" & _
Chr(10) & Chr(10) & "les inscrits de la sortie" & _
Chr(10) & Chr(10) & "Voulez vous continuer ?"

' Définit lesboutons.
Style = vbYesNo + vbExclamation + vbDefaultButton2
Title = "V-S Effacement des participants " ' Définit le titre.

' Affiche le message.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ' L'utilisateur a choisi Oui.
MyString = "Oui"
With Sheets("Base Données")
With .Range("D4:E403")
.ClearContents
End With
.Application.ActiveWindow.LargeScroll Down:=-22
End With
Sheets("Accueil").Select
' Effectue une action.
Else ' L'utilisateur a choisi Non.
MyString = "Non" ' Effectue une action.
Sheets("Accueil").Select
End If
End Sub


"eneric" a écrit dans le message de news:

Bonsoir,
voila je seche sur une erreur de code
a la ligne 16 >>> Range("D4:E403") .Select
merci du petit coup de main

Private Sub CommandButton1_Click()
'Effacer les participants
Dim Msg, Style, Title, Response, MyString
Msg = "Attention vous allez effacer !!!" & Chr(10) & Chr(10) & "les
inscrits de la sortie" & Chr(10) & _
Chr(10) & "Voulez vous continuer ?" ' Définit le message.
Style = vbYesNo + vbExclamation + vbDefaultButton2 ' Définit les
boutons.
Title = "V-S Effacement des participants " ' Définit le titre.

' Affiche le message.
Response = MsgBox(Msg, Style, Title)
If Response = vbYes Then ' L'utilisateur a choisi Oui.
MyString = "Oui"
Sheets("Base Données").Select
Range("D4:E403").Select
Selection.ClearContents
ActiveWindow.LargeScroll Down:=-22
Range("E4").Select
Sheets("Accueil").Select
' Effectue une action.
Else ' L'utilisateur a choisi Non.
MyString = "Non" ' Effectue une action.
Sheets("Accueil").Select
End If
End Sub

--
eneric
Avatar
MichDenis
Pour que l'application se ferme, tous les classeurs
de l'instance (application ) que tu veux fermer doit
être femé avant que tu appelles la ligne de commande
"Application.Quit". Si nécessaire, tu crées une bouton
sur la colllection Workbooks pour fermer tous les classeurs.

For each wk in workbooks

Next

Sinon dans un module standard, copie cette
procédure en prenant soin de modifier le nom
du formulaire ... si besoin.
Le fichier se ferme sans sauvegarde et sans
message à cet effet.
Et dans ta procédure de ton formulaire, tu appelles
cette procédure au moment opportum.
'---------------------------------
Sub FermerFichierEtClasseur()

Unload UserForm1
Application.DisplayAlerts = False
Application.Quit

End Sub
'---------------------------------



"eneric" a écrit dans le message de news:

eneric à dit
et puis aussi
j'ai mis ce code dans le UserForm
ActiveWorkbook.Close False 'ferme le fichier
application.Quit 'quitte Exel
mais excel ne ferme pas pourquoi?
merci

--
eneric
Avatar
Garette
Bonsoir,

Sur ma version ca fonctionne sans planter.
Mais j'utiliserai plutot :
Sheets("Base Données").Range("D4:E403").ClearContents

à la place de :
Sheets("Base Données").Select
Range("D4:E403").Select
Selection.ClearContents


Pour la 2eme question, Excel ne se ferme pas car l'instruction
"application.Quit" ne peut pas s'executer.
Le classeur est fermé.
Avatar
Garette
Re,

Pour Quitter Excel sans poser de question et si seulement ce classeur doit
etre fermé sans etre enregistrer (qu'il n'y a pas d'autres classeurs en
attente d'enregistrement), tu peux positionner sa proprieté Saved à True.
Il sera considéré comme enregistré mais rien ne sera enregistré dedans.


Sub Macro1()
ActiveWorkbook.Saved = True
Application.Quit
End Sub
Avatar
eneric
eneric à dit
Bonsoir,

Sur ma version ca fonctionne sans planter.
Mais j'utiliserai plutot :
Sheets("Base Données").Range("D4:E403").ClearContents

à la place de :
Sheets("Base Données").Select
Range("D4:E403").Select
Selection.ClearContents


Pour la 2eme question, Excel ne se ferme pas car l'instruction
"application.Quit" ne peut pas s'executer.
Le classeur est fermé.


merci a tous de vos reponses
oui c'est bizarre ses bugs
j'ai 4 modules ou ca plante

--
eneric

Avatar
joseph 17
Bonsoir Eneric

Tu as déjà eu des solutions, mais si je peux me permettre, je crois que ce
qui ne marchait pas dans ta syntaxe c'est la méthode "select" qui est
impropre pour l'activation de l'onglet "base données" ou "accueil". Pour
activer la feuille avant de sélectionner la plage de cellules avec la
méthode select tu dois appliquer la syntaxe suivante :

Sheets("Base Données").activate (et non pas select)

Range("D4:E403").Select

Selection.ClearContents

Joseph 17

"Garette" a écrit dans le message de news:

Bonsoir,

Sur ma version ca fonctionne sans planter.
Mais j'utiliserai plutot :
Sheets("Base Données").Range("D4:E403").ClearContents

à la place de :
Sheets("Base Données").Select
Range("D4:E403").Select
Selection.ClearContents


Pour la 2eme question, Excel ne se ferme pas car l'instruction
"application.Quit" ne peut pas s'executer.
Le classeur est fermé.




Avatar
Garette
Bonjour,

En tous les cas sur XL 2002, Sheets("Base Données").Select et Sheets("Base
Données").Activate donnent le meme resultat.
En revanche, on ne peut pas faire un Select sur une feuille masqué mais on
peut faire un Activate.

Exemple, si la feuille "Base Données" est masquée :

Celle-ci fonctionne
Sub test1()
Sheets("Base Données").Activate
MsgBox Range("A1").Value
End Sub

Celle-ci ne fonctionne pas
Sub test2()
Sheets("Base Données").Select
MsgBox Range("A1").Value
End Sub

C'est peut etre le probleme de Eneric ....


"joseph 17" a écrit dans le message de news:

Bonsoir Eneric

Tu as déjà eu des solutions, mais si je peux me permettre, je crois que ce
qui ne marchait pas dans ta syntaxe c'est la méthode "select" qui est
impropre pour l'activation de l'onglet "base données" ou "accueil". Pour
activer la feuille avant de sélectionner la plage de cellules avec la
méthode select tu dois appliquer la syntaxe suivante :

Sheets("Base Données").activate (et non pas select)

Range("D4:E403").Select

Selection.ClearContents

Joseph 17



Avatar
eneric
eneric à dit
non je n'ai pas de feuille masquée
en fait le probleme est le suivant
j'enregistre une macro
j'associe un bouton pour l'executer
apres cela je recree un bouton en VBA
je remets le meme code dedans
et cela ne marche pas
voila et j'ai 6 macros d'enregistrer
la soluce de michdenis fonctionne
je l'ai appliqué sur une autre mais ca continue de buger
je vais reprendre tout cela lundi
bon dimanche
merci

Bonjour,

En tous les cas sur XL 2002, Sheets("Base Données").Select et Sheets("Base
Données").Activate donnent le meme resultat.
En revanche, on ne peut pas faire un Select sur une feuille masqué mais on
peut faire un Activate.

Exemple, si la feuille "Base Données" est masquée :

Celle-ci fonctionne
Sub test1()
Sheets("Base Données").Activate
MsgBox Range("A1").Value
End Sub

Celle-ci ne fonctionne pas
Sub test2()
Sheets("Base Données").Select
MsgBox Range("A1").Value
End Sub

C'est peut etre le probleme de Eneric ....


"joseph 17" a écrit dans le message de news:

Bonsoir Eneric

Tu as déjà eu des solutions, mais si je peux me permettre, je crois que ce
qui ne marchait pas dans ta syntaxe c'est la méthode "select" qui est
impropre pour l'activation de l'onglet "base données" ou "accueil". Pour
activer la feuille avant de sélectionner la plage de cellules avec la
méthode select tu dois appliquer la syntaxe suivante :

Sheets("Base Données").activate (et non pas select)

Range("D4:E403").Select

Selection.ClearContents

Joseph 17



--
eneric


Avatar
isabelle
bonjour eneric,

il faut mettre la propriété du bouton "TakeFocusOnClick" à false.

isabelle

eneric à dit
non je n'ai pas de feuille masquée
en fait le probleme est le suivant
j'enregistre une macro
j'associe un bouton pour l'executer
apres cela je recree un bouton en VBA
je remets le meme code dedans
et cela ne marche pas
voila et j'ai 6 macros d'enregistrer
la soluce de michdenis fonctionne
je l'ai appliqué sur une autre mais ca continue de buger
je vais reprendre tout cela lundi
bon dimanche
merci

Bonjour,

En tous les cas sur XL 2002, Sheets("Base Données").Select et
Sheets("Base
Données").Activate donnent le meme resultat.
En revanche, on ne peut pas faire un Select sur une feuille masqué
mais on
peut faire un Activate.

Exemple, si la feuille "Base Données" est masquée :

Celle-ci fonctionne
Sub test1()
Sheets("Base Données").Activate
MsgBox Range("A1").Value
End Sub

Celle-ci ne fonctionne pas
Sub test2()
Sheets("Base Données").Select
MsgBox Range("A1").Value
End Sub

C'est peut etre le probleme de Eneric ....


"joseph 17" a écrit dans le message de
news:


Bonsoir Eneric

Tu as déjà eu des solutions, mais si je peux me permettre, je crois
que ce
qui ne marchait pas dans ta syntaxe c'est la méthode "select" qui est
impropre pour l'activation de l'onglet "base données" ou "accueil". Pour
activer la feuille avant de sélectionner la plage de cellules avec la
méthode select tu dois appliquer la syntaxe suivante :

Sheets("Base Données").activate (et non pas select)

Range("D4:E403").Select

Selection.ClearContents

Joseph 17








1 2