Arrêt processus d'un code par les boutons annuler et fermer

Messages postés
34
Date d'inscription
mercredi 15 juin 2016
Dernière intervention
30 septembre 2016
- 26 sept. 2016 à 23:53 - Dernière réponse :
Messages postés
34
Date d'inscription
mercredi 15 juin 2016
Dernière intervention
30 septembre 2016
- 30 sept. 2016 à 21:06
Bonjour,
Mon problème est le suivant j'ai un module dans lequel je fais appel à un userform, maintenant si j'appuies sur annuler ou fermer le code continue ou il y a un message d'erreur qui m'est signalé. Ce que je voudrais c'est pouvoir arrêter le processus du module dès qu'on appuie sur ces 2 boutons. Est ce possible? Merci de bien vouloir m'aider.
Afficher la suite 

Votre réponse

7 réponses

Messages postés
23302
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 novembre 2018
27 sept. 2016 à 02:00
0
Merci
Bonjour,

Tu veux quitter la SUB c'est ça ?
Il te suffit d'utilser
 Exit Sub


si tu veux plus d'aider... il faut que tu nous colles ton code pour que l'on sache de quoi il retourne.

NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code


Commenter la réponse de jordane45
0
Merci
Oui mais comment dire au code de faire un exit sub si l'utilisateur appuie sur le bouton annuler de luserform????Comment coréler le bouton annuler du formulaire et le code???
Messages postés
23302
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 novembre 2018
- 27 sept. 2016 à 02:29
Le bouton "annuler" ?
La "croix" tu veux dire ? ou un bouton que tu as placé toi même sur l'userform ??
Si c'est de la croix dont tu parles... regardes du côté de :
Private Sub UserForm_QueryClose

http://silkyroad.developpez.com/VBA/UserForm/#LIV-K

Sinon... il faut vraiment que tu sois plus précis... quit à nous mettre un fichier à disposition via le site cijoint : http://www.commentcamarche.net/faq/29493-utiliser-cjoint
Commenter la réponse de dyjatou92
0
Merci
En fait c'est pour le bouton fermer avec la croix et un bouton annuler que j'ai créé et qui va servir à masquer luserform. Je veux maintenant k lorsk jappuies sur ce bouton annuler que non seulement luserform soit masqué mais quele processus du code dans lequel j'ai appelé mon userform s'arrête. Mon fichier comporte bcp de modules et ils sont très volumineux. Vous risquez de vous y perdre mm avc des explications
Commenter la réponse de dyjatou92
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
27 sept. 2016 à 09:01
0
Merci
Bonjour,
On a des difficultés à voir de quel "processus" il s'agit.
Montre s'il te plait ici, entre balises code, les lignes de code contenant les instructions dont tu veux interrompre l'exécution.
Commenter la réponse de ucfoutu
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Dernière intervention
23 août 2018
27 sept. 2016 à 17:54
0
Merci
En principe, si tu mets DoEvents, ça permet de donner la main au système et, donc, d'être en mesure de récupérer une action, soit le click sur un bouton, disons.

Par contre, il y a des processus qui ne s'arrêteront pas aussi facilement.
Disons que tu fais une requête SQL dans une base de donnée et que ça prend beaucoup de temps, tu ne pourras pas l'arrêter.

Si, par contre, tu es dans une boucle, tu pourrais l'arrêter.
For i = 1 to 1000000000
DoEvents
If Arret then exit for
'ton code dans la boucle
Next
Arret = False


Et tu utilises une variable Public Booléenne pour vérifier
Public Arret As Boolean

Sub Annuler() 'code de ton bouton Annuler
Arret = True
End Sub

Commenter la réponse de cs_MPi
Messages postés
34
Date d'inscription
mercredi 15 juin 2016
Dernière intervention
30 septembre 2016
30 sept. 2016 à 21:06
0
Merci
bonjour c'est le bout de code dont je vous parlais
Option Explicit
Sub Modif(control As IRibbonControl)
'Cette macro permet de faire apparaitre la boite de dialogue et de modifier les données sur les cellules du Tableau local
Application.ScreenUpdating = False
Dim NouveauNom As String
'Déverouillage du classeur
ThisWorkbook.Unprotect "khadyja"
'Déverouillage de la feuille
ActiveSheet.Unprotect Password:="khadyja"
If ActiveSheet.CodeName Like "BThermique" Or ActiveSheet.CodeName Like "Donnees" Or ActiveSheet.CodeName Like "ConditionsClimatiques" Or ActiveSheet.CodeName Like "PageDeGarde" Or ActiveSheet.CodeName Like "Synthese" Or ActiveSheet.CodeName Like "Contenance" Or ActiveSheet.CodeName Like "datacenter" Or ActiveSheet.CodeName Like "PertesDeCharges" Or ActiveSheet.CodeName Like "TronconsPrincipaux" Or ActiveSheet.CodeName Like "DevisQuantitatif" Or ActiveSheet.CodeName Like "QUANT_DATA" Then
MsgBox " Vous n'êtes pas positionné sur la bonne feuille. Veuillez aller dans une feuille de calcul de bilan thermique d'un local"
Exit Sub
Else
'Activation de la feuille
ActiveSheet.Activate
'Récupération valeur du niveau
Range("B2:D2").Select
UserFormDonneesLocal.ComboBox_Niveau = ActiveCell.Formula
'Récupération valeur du nom du local
Range("F2:H2").Select
 UserFormDonneesLocal.TextBox_nomdulocal = ActiveCell.Formula
'Nommer la feuille avec la valeur du nom du local récupéré
'NouveauNom = ActiveSheet.Range("F2").Text
'ThisWorkbook.Unprotect "khadyja"
'ActiveSheet.Name = NouveauNom
'Récupération du volume
Range("B4").Select
UserFormDonneesLocal.TextBox_volume = ActiveCell.Formula
'Récupération du type d'activité
Range("B5").Select
UserFormDonneesLocal.ComboBox_TypeActivite.Text = ActiveCell.Formula
'Récupération du nombre d'occupants
Range("B6").Select
 UserFormDonneesLocal.TextBox_nbreoccupants = ActiveCell.Formula
'Récupération des quantités de luminaires
Range("B12").Select
UserFormDonneesLocal.TextBox_lum_stand = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_lum_stand.Value = 0 Or UserFormDonneesLocal.TextBox_lum_stand.Value = "" Then
UserFormDonneesLocal.TextBox_lum_stand.Visible = False
UserFormDonneesLocal.CheckBox_lum_stand.Value = False
End If
Range("B13").Select
UserFormDonneesLocal.TextBox_lum_incand = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_lum_incand.Value = 0 Or UserFormDonneesLocal.TextBox_lum_incand.Value = "" Then
UserFormDonneesLocal.TextBox_lum_incand.Visible = False
UserFormDonneesLocal.CheckBox_lum_incand.Value = False
End If
Range("B14").Select
UserFormDonneesLocal.TextBox_spot_rail = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_spot_rail.Value = 0 Or UserFormDonneesLocal.TextBox_spot_rail.Value = "" Then
UserFormDonneesLocal.TextBox_spot_rail.Visible = False
UserFormDonneesLocal.CheckBox_Spot_rail.Value = False
End If
Range("B15").Select
UserFormDonneesLocal.TextBox_spot_encastre = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_spot_encastre.Value = 0 Or UserFormDonneesLocal.TextBox_spot_encastre.Value = "" Then
UserFormDonneesLocal.TextBox_spot_encastre.Visible = False
UserFormDonneesLocal.CheckBox_Spot_encastre.Value = False
End If
Range("B16").Select
UserFormDonneesLocal.TextBox_applique = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_applique.Value = 0 Or UserFormDonneesLocal.TextBox_applique.Value = "" Then
UserFormDonneesLocal.TextBox_applique.Visible = False
UserFormDonneesLocal.CheckBox_Applique.Value = False
End If
Range("B17").Select
UserFormDonneesLocal.TextBox_lum_suspendu = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_lum_suspendu.Value = 0 Or UserFormDonneesLocal.TextBox_lum_suspendu.Value = "" Then
UserFormDonneesLocal.TextBox_lum_suspendu.Visible = False
UserFormDonneesLocal.CheckBox_lum_suspendu.Value = False
End If
Range("B18").Select
UserFormDonneesLocal.TextBox_hublot = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_hublot.Value = 0 Or UserFormDonneesLocal.TextBox_hublot.Value = "" Then
UserFormDonneesLocal.TextBox_hublot.Visible = False
UserFormDonneesLocal.CheckBox_hublot.Value = False
End If
Range("B19").Select
UserFormDonneesLocal.TextBox_lum_2regl = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_lum_2regl.Value = 0 Or UserFormDonneesLocal.TextBox_lum_2regl.Value = "" Then
UserFormDonneesLocal.TextBox_lum_2regl.Visible = False
UserFormDonneesLocal.CheckBox_lum_2regl.Value = False
End If
Range("B20").Select
UserFormDonneesLocal.TextBox_lum_4regl = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_lum_4regl.Value = 0 Or UserFormDonneesLocal.TextBox_lum_4regl.Value = "" Then
UserFormDonneesLocal.TextBox_lum_4regl.Visible = False
UserFormDonneesLocal.CheckBox_lum_4regl.Value = False
End If
Range("B21").Select
UserFormDonneesLocal.TextBox_lustre = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_lustre.Value = 0 Or UserFormDonneesLocal.TextBox_lustre.Value = "" Then
UserFormDonneesLocal.TextBox_lustre.Visible = False
UserFormDonneesLocal.CheckBox_lustre.Value = False
End If
Range("B22").Select
UserFormDonneesLocal.TextBox_Quant_Autreslum = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Quant_Autreslum.Value = 0 Or UserFormDonneesLocal.TextBox_Quant_Autreslum.Value = "" Then
UserFormDonneesLocal.TextBox_Quant_Autreslum.Visible = False
UserFormDonneesLocal.CheckBox_Autreslum.Value = False
End If
Range("C22").Select
UserFormDonneesLocal.TextBox_Puiss_Autreslum = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Puiss_Autreslum.Value = 0 Or UserFormDonneesLocal.TextBox_Puiss_Autreslum.Value = "" Then
UserFormDonneesLocal.TextBox_Puiss_Autreslum.Visible = False
UserFormDonneesLocal.CheckBox_Autreslum.Value = False
End If
'Récupération des quantités de chaque appareil électrique
Range("B25").Select
UserFormDonneesLocal.TextBox_Ordinateur = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Ordinateur.Value = 0 Or UserFormDonneesLocal.TextBox_Ordinateur.Value = "" Then
UserFormDonneesLocal.TextBox_Ordinateur.Visible = False
UserFormDonneesLocal.CheckBox_Ordinateur.Value = False
End If
Range("B26").Select
UserFormDonneesLocal.TextBox_Imprimante = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Imprimante.Value = 0 Or UserFormDonneesLocal.TextBox_Imprimante.Value = "" Then
UserFormDonneesLocal.TextBox_Imprimante.Visible = False
UserFormDonneesLocal.CheckBox_Imprimante.Value = False
End If
Range("B27").Select
UserFormDonneesLocal.TextBox_Photocopieuse = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Photocopieuse.Value = 0 Or UserFormDonneesLocal.TextBox_Photocopieuse.Value = "" Then
UserFormDonneesLocal.TextBox_Photocopieuse.Visible = False
UserFormDonneesLocal.CheckBox_Photocopieuse.Value = False
End If
Range("B28").Select
UserFormDonneesLocal.TextBox_Televiseur = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Televiseur.Value = 0 Or UserFormDonneesLocal.TextBox_Televiseur.Value = "" Then
UserFormDonneesLocal.TextBox_Televiseur.Visible = False
UserFormDonneesLocal.CheckBox_Televiseur.Value = False
End If
Range("B29").Select
UserFormDonneesLocal.TextBox_Refrigerateur = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Refrigerateur.Value = 0 Or UserFormDonneesLocal.TextBox_Refrigerateur.Value = "" Then
UserFormDonneesLocal.TextBox_Refrigerateur.Visible = False
UserFormDonneesLocal.CheckBox_Refrigerateur.Value = False
End If
Range("B30").Select
UserFormDonneesLocal.TextBox_Lavelinge = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Lavelinge.Value = 0 Or UserFormDonneesLocal.TextBox_Lavelinge.Value = "" Then
UserFormDonneesLocal.TextBox_Lavelinge.Visible = False
UserFormDonneesLocal.CheckBox_Lavelinge.Value = False
End If
Range("B31").Select
UserFormDonneesLocal.TextBox_Lavevaisselle = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Lavevaisselle.Value = 0 Or UserFormDonneesLocal.TextBox_Lavevaisselle.Value = "" Then
UserFormDonneesLocal.TextBox_Lavevaisselle.Visible = False
UserFormDonneesLocal.CheckBox_Lavevaisselle.Value = False
End If
Range("B32").Select
UserFormDonneesLocal.TextBox_Four = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Four.Value = 0 Or UserFormDonneesLocal.TextBox_Four.Value = "" Then
UserFormDonneesLocal.TextBox_Four.Visible = False
UserFormDonneesLocal.CheckBox_Four.Value = False
End If
Range("B33").Select
UserFormDonneesLocal.TextBox_Onduleurs = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Onduleurs.Value = 0 Or UserFormDonneesLocal.TextBox_Onduleurs.Value = "" Then
UserFormDonneesLocal.TextBox_Onduleurs.Visible = False
UserFormDonneesLocal.CheckBox_Onduleurs.Value = False
End If
Range("B34").Select
UserFormDonneesLocal.TextBox_Transfo = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Transfo.Value = 0 Or UserFormDonneesLocal.TextBox_Transfo.Value = "" Then
UserFormDonneesLocal.TextBox_Transfo.Visible = False
UserFormDonneesLocal.CheckBox_Transfo.Value = False
End If
Range("B35").Select
UserFormDonneesLocal.TextBox_Quant_Autres = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Quant_Autres.Value = 0 Or UserFormDonneesLocal.TextBox_Quant_Autres.Value = "" Then
UserFormDonneesLocal.TextBox_Quant_Autres.Visible = False
UserFormDonneesLocal.CheckBox_Autres.Value = False
End If
Range("C35").Select
UserFormDonneesLocal.TextBox_Puiss_Autres = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_Puiss_Autres.Value = 0 Or UserFormDonneesLocal.TextBox_Puiss_Autres.Value = "" Then
UserFormDonneesLocal.TextBox_Puiss_Autres.Visible = False
UserFormDonneesLocal.CheckBox_Autres.Value = False
End If
'Récupération des surfaces des murs exposés à l'ensoleillement
Range("C40").Select
UserFormDonneesLocal.TextBox_surfacemur_Nord = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_Nord.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_Nord.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_Nord.Visible = True
UserFormDonneesLocal.CheckBox_Nord_murs.Value = False
End If
Range("C41").Select
UserFormDonneesLocal.TextBox_surfacemur_Sud = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_Sud.Value <> 0 Or UserFormDonneesLocal.TextBox_surfacemur_Sud.Value <> "" Then
UserFormDonneesLocal.TextBox_surfacemur_Sud.Visible = False
UserFormDonneesLocal.CheckBox_Sud_murs.Value = True
End If
Range("C42").Select
UserFormDonneesLocal.TextBox_surfacemur_Ouest = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_Ouest.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_Ouest.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_Ouest.Visible = False
UserFormDonneesLocal.CheckBox_Ouest_murs.Value = False
End If
Range("C43").Select
UserFormDonneesLocal.TextBox_surfacemur_Est = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_Est.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_Est.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_Est.Visible = False
UserFormDonneesLocal.CheckBox_Est_murs.Value = False
End If
Range("C44").Select
UserFormDonneesLocal.TextBox_surfacemur_NO = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_NO.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_NO.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_NO.Visible = False
UserFormDonneesLocal.CheckBox_NO_murs.Value = False
End If
Range("C45").Select
UserFormDonneesLocal.TextBox_surfacemur_NE = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_NE.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_NE.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_NE.Visible = False
UserFormDonneesLocal.CheckBox_NE_murs.Value = False
End If
Range("C46").Select
UserFormDonneesLocal.TextBox_surfacemur_SO = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_SO.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_SO.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_SO.Visible = False
UserFormDonneesLocal.CheckBox_SO_murs.Value = False
End If
Range("C47").Select
UserFormDonneesLocal.TextBox_surfacemur_SE = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacemur_SE.Value = 0 Or UserFormDonneesLocal.TextBox_surfacemur_SE.Value = "" Then
UserFormDonneesLocal.TextBox_surfacemur_SE.Visible = False
UserFormDonneesLocal.CheckBox_SE_murs.Value = False
End If
'Récupération des surfaces des vitrages exposés à l'ensoleillement
Range("C48").Select
UserFormDonneesLocal.TextBox_surfacevitr_Nord = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_Nord.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_Nord.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_Nord.Visible = False
UserFormDonneesLocal.CheckBox_Nord_Vitrages.Value = False
End If
Range("C49").Select
UserFormDonneesLocal.TextBox_surfacevitr_Sud = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_Sud.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_Sud.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_Sud.Visible = False
UserFormDonneesLocal.CheckBox_Sud_Vitrages.Value = False
End If
Range("C50").Select
UserFormDonneesLocal.TextBox_surfacevitr_Ouest = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_Ouest.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_Ouest.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_Ouest.Visible = False
UserFormDonneesLocal.CheckBox_Ouest_Vitrages.Value = False
End If
Range("C51").Select
UserFormDonneesLocal.TextBox_surfacevitr_Est = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_Est.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_Est.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_Est.Visible = False
UserFormDonneesLocal.CheckBox_Est_Vitrages.Value = False
End If
Range("C52").Select
UserFormDonneesLocal.TextBox_surfacevitr_NO = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_NO.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_NO.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_NO.Visible = False
UserFormDonneesLocal.CheckBox_NO_Vitrages.Value = False
End If
Range("C53").Select
UserFormDonneesLocal.TextBox_surfacevitr_NE = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_NE.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_NE.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_NE.Visible = False
UserFormDonneesLocal.CheckBox_NE_Vitrages.Value = False
End If
Range("C54").Select
UserFormDonneesLocal.TextBox_surfacevitr_SO = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_SO.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_SO.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_SO.Visible = False
UserFormDonneesLocal.CheckBox_SO_Vitrages.Value = False
End If
Range("C55").Select
UserFormDonneesLocal.TextBox_surfacevitr_SE = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surfacevitr_SE.Value = 0 Or UserFormDonneesLocal.TextBox_surfacevitr_SE.Value = "" Then
UserFormDonneesLocal.TextBox_surfacevitr_SE.Visible = False
UserFormDonneesLocal.CheckBox_SE_Vitrages.Value = False
End If
Range("C56").Select
'Récupération de la surface du toit
UserFormDonneesLocal.TextBox_surface_Toit = ActiveCell.Formula
If UserFormDonneesLocal.TextBox_surface_Toit.Value = 0 Or UserFormDonneesLocal.TextBox_surface_Toit.Value = "" Then
UserFormDonneesLocal.TextBox_surface_Toit.Visible = False
UserFormDonneesLocal.CheckBox_surface_Toit.Value = False
End If
'Affichage de la boîte de dialogue contenant un bouton annuler
UserFormDonneesLocal.Show
Range("B2:D2").Select
ActiveCell.Formula = UserFormDonneesLocal.ComboBox_Niveau.Text
'Récupération valeur du nom du local
Range("F2:H2").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_nomdulocal.Text
'Nommer la feuille avec la valeur du nom du local récupéré
NouveauNom = ActiveSheet.Range("F2").Text
ThisWorkbook.Unprotect "khadyja"
ActiveSheet.Name = NouveauNom
'Récupération du volume
Range("B4").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_volume.Value
'Récupération du type d'activité
Range("B5").Select
ActiveCell.Formula = UserFormDonneesLocal.ComboBox_TypeActivite.Text
'Récupération du nombre d'occupants
Range("B6").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_nbreoccupants.Value
'Récupération des quantités de luminaires
Range("B12").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_lum_stand.Value
Range("B13").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_lum_incand.Value
Range("B14").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_spot_rail.Value
Range("B15").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_spot_encastre.Value
Range("B16").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_applique.Value
Range("B17").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_lum_suspendu.Value
Range("B18").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_hublot.Value
Range("B19").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_lum_2regl.Value
Range("B20").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_lum_4regl.Value
Range("B21").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_lustre.Value
Range("B22").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Quant_Autreslum.Value
Range("C22").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Puiss_Autreslum.Value
'Récupération des quantités de chaque appareil électrique
Range("B25").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Ordinateur.Value
Range("B26").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Imprimante.Value
Range("B27").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Photocopieuse.Value
Range("B28").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Televiseur.Value
Range("B29").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Refrigerateur.Value
Range("B30").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Lavelinge.Value
Range("B31").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Lavevaisselle.Value
Range("B32").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Four.Value
Range("B33").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Onduleurs.Value
Range("B34").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Transfo.Value
Range("B35").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Quant_Autres.Value
Range("C35").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_Puiss_Autres.Value
'Récupération des surfaces des murs exposés à l'ensoleillement
Range("C40").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_Nord.Value
Range("C41").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_Sud.Value
Range("C42").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_Ouest.Value
Range("C43").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_Est.Value
Range("C44").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_NO.Value
Range("C45").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_NE.Value
Range("C46").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_SO.Value
Range("C47").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacemur_SE.Value
'Récupération des surfaces des vitrages exposés à l'ensoleillement
Range("C48").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_Nord.Value
Range("C49").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_Sud.Value
Range("C50").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_Ouest.Value
Range("C51").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_Est.Value
Range("C52").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_NO.Value
Range("C53").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_NE.Value
Range("C54").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_SO.Value
Range("C55").Select
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surfacevitr_SE.Value
Range("C56").Select
'Récupération de la surface du toit
ActiveCell.Formula = UserFormDonneesLocal.TextBox_surface_Toit.Value
'Récupération du type de ventilo-convecteurs
Range("A73").Select
If Donnees.Range("U2").Text = "DAIKIN" Then
    ActiveCell.FormulaR1C1 = "MODELE DAIKIN"
    Else
    ActiveCell.FormulaR1C1 = "MODELE CARRIER"
    End If
Range("A72").Select
If Donnees.Range("U2").Text = "DAIKIN" Then
UserFormDonneesLocal.ComboBox_2tubes.RowSource = ("Données!B40:B51")
UserFormDonneesLocal.ComboBox_4tubes.RowSource = ("Données!E40:E48")
UserFormDonneesLocal.OptionButton_2tubes.Caption = "Ventilo-convecteurs 2 tubes de DAIKIN"
UserFormDonneesLocal.OptionButton_4tubes.Caption = "Ventilo-convecteurs 4 tubes de DAIKIN"

Else
UserFormDonneesLocal.ComboBox_2tubes.RowSource = ("Données!A266:A273")
UserFormDonneesLocal.ComboBox_4tubes.RowSource = ("Données!C266:C273")
UserFormDonneesLocal.OptionButton_2tubes.Caption = "Ventilo-convecteurs 2 tubes de CARRIER"
UserFormDonneesLocal.OptionButton_4tubes.Caption = "Ventilo-convecteurs 4 tubes de CARRIER"
End If
If UserFormDonneesLocal.OptionButton_2tubes.Value = True Then
ActiveCell.Formula = UserFormDonneesLocal.ComboBox_2tubes.Text
Else
ActiveCell.Formula = UserFormDonneesLocal.ComboBox_4tubes.Text
End If
Calcul
'Reverrouillage de la feuille
ActiveSheet.Protect Password:="khadyja", UserInterFaceOnly:=True
'Reverrouillage du classeur
ThisWorkbook.Protect "khadyja"
End Sub
Commenter la réponse de dyjatou92

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.