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

Gros Problème Déclaration

5 réponses
Avatar
Céline
Bonjour à tous

Voilà j'ai un souci, j'ai besoin de connaître un numéro donné par une
inputbox mais sur l'ensemble des procédures d'un même module, comment garder
ce numéro ?

Voilà mes procédures la première puis la seconde (sachant qu'il y en a
encore beaucoup d'autres derrière)


Option Explicit
Public CorrDmndeCodeLot As Long
Public CelluleCodeLot As Range
Public NouvImm%
Public a As Double

Sub CORR_DEBUT()

Dim DemandeCorrection%, CelluleCodeLot As Range


CorrDmndeCodeLot = InputBox("Merci de renseigner le numéro du CODE LOT
concerné par la correction.", "CODE LOT")



Set CelluleCodeLot = Range("H6")

Do While CelluleCodeLot.Value <> Empty

If CelluleCodeLot.Value <> CorrDmndeCodeLot Then
Set CelluleCodeLot = CelluleCodeLot.Offset(1, 0)
Else

GoTo REPRISE
End If

Loop

REPRISE:

Dim SUP As Range
Dim ErrFirst As Boolean



Set SUP = CelluleCodeLot.Offset(0, 6)

ErrFirst = True


If SUP.Value = "" Then
SUP.Select
ErrFirst = False

ElseIf SUP.Value = "0" Then
SUP.Select
ErrFirst = False

ElseIf SUP.Value = "-" Then
SUP.Select
ErrFirst = False

End If

If ErrFirst = False Then
MsgBox "Votre Lot n° blablabla"
Exit Sub
End If

CORR_RATIO_RV_BRUT_CONST
End Sub

Sub CORR_RATIO_RV_BRUT_CONST()

Dim RatioRevBrut As Range, RevBrutConst As Range, DerLoyAnnLot As Range, SUP
As Range



Set RatioRevBrut = CelluleCodeLot.Offset(0, 30)
Set RevBrutConst = CelluleCodeLot.Offset(0, 31)
Set SUP = CelluleCodeLot.Offset(0, 6)


RatioRevBrut.Formula = RevBrutConst / SUP
RatioRevBrut.NumberFormat = "#,##0.00$"


CORR_TOTAL_SUP_3
End Sub



Merci à tous

5 réponses

Avatar
Céline
En fait j'ai juste besoin de pouvoir déclarer pas seulement ma variable mais
la valeur de ma variable au niveau Public pour l'ensemble du module, je ne
vais quand même pas à chaque procédure mettre une inputbox alors que c'est le
même renseignement.

Merci à tous
Avatar
FFO
Salut Céline

Déclare ta variable en tout début ainsi :

Public Message

Puis dans un module tu enregistres une fois sa valeur ainsi :

Message = InputBox("Saisissez votre Message", "Message")

La valeur Message pourra être utilsée dans tous les modules suivant à
condition que le module qui le défini ci-dessus est été exécuté

Celà devrait faire


En fait j'ai juste besoin de pouvoir déclarer pas seulement ma variable mais
la valeur de ma variable au niveau Public pour l'ensemble du module, je ne
vais quand même pas à chaque procédure mettre une inputbox alors que c'est le
même renseignement.

Merci à tous


Avatar
Céline
Merci FFO

Mais je n'y arrive, il faut dire je suis prise par le temps et je ne peux
pas réfléchir je n'y arrive pas, il ne faut pas que l'inputbox s'active à
chaque procédure j'ai fait ça mais ça va pas :

Option Explicit
Public CorrDmndeCodeLot As Long
Public CelluleCodeLot As Range
Public message
Public NouvImm%
Public a As Double
Function DEMCODLOT()
Dim message

message = InputBox("Merci de renseigner le numéro du CODE LOT concerné par
la correction.", "CODE LOT")

CorrDmndeCodeLot = message



End Function



Sub CORR_DEBUT() ' Pour Surfaces Pondérées
'Commence par VERIFICATION_SUP, inscrit le Dernier Loyer Annuel

Dim DemandeCorrection%, CelluleCodeLot As Range

DemandeCorrection = MsgBox("Vous allez lancer la procédure de correction
linéaire, cette procédure recalcul à partir du ratio du Rev. Brut Constaté en
recalculant le Total de la SUP," & Chr(10) & "mais c'est à vous de renseigner
la SUP et le Rev. Brut Constaté." & Chr(10) & Chr(10) & "Avez-vous pensé à
renseigner :" & Chr(10) & Chr(10) & "- les éventuelles Dates Fermes
concernant les baux," & Chr(10) & "- votre SUP et son Coefficient de
Pondération," & Chr(10) & "- la VLM," & Chr(10) & "- le Taux de Rendement," &
Chr(10) & "- si besoin, durée de vacance, capex, ascenseur, moins value
déplafonnée, moins value franchise," & Chr(10) & "- le Prix Moyen de Vente
Lot." & Chr(10) & Chr(10) & "Concernant le Revenu Brut Constaté le système de
correction utilise le repport du Dernier Loyer Annuel (total par bail)." &
Chr(10) & Chr(10) & "Si oui, les corrections vont s'opérer, pour annuler les
correction cliquez sur Non.", vbYesNo, "ANF 2007 - YGIL")
If DemandeCorrection = 7 Then Exit Sub



CorrDmndeCodeLot = DEMCODLOT

Set CelluleCodeLot = Range("H6")



Do While CelluleCodeLot.Value <> Empty

If CelluleCodeLot.Value <> CorrDmndeCodeLot Then


Salut Céline

Déclare ta variable en tout début ainsi :

Public Message

Puis dans un module tu enregistres une fois sa valeur ainsi :

Message = InputBox("Saisissez votre Message", "Message")

La valeur Message pourra être utilsée dans tous les modules suivant à
condition que le module qui le défini ci-dessus est été exécuté

Celà devrait faire


En fait j'ai juste besoin de pouvoir déclarer pas seulement ma variable mais
la valeur de ma variable au niveau Public pour l'ensemble du module, je ne
vais quand même pas à chaque procédure mettre une inputbox alors que c'est le
même renseignement.

Merci à tous




Avatar
FFO
Rebonjours à toi

dans ta Function DEMCODLOT Enlève la ligne :

Dim message

J'ai essayé ton code celà fonctionne

Et pour toi ????



Merci FFO

Mais je n'y arrive, il faut dire je suis prise par le temps et je ne peux
pas réfléchir je n'y arrive pas, il ne faut pas que l'inputbox s'active à
chaque procédure j'ai fait ça mais ça va pas :

Option Explicit
Public CorrDmndeCodeLot As Long
Public CelluleCodeLot As Range
Public message
Public NouvImm%
Public a As Double
Function DEMCODLOT()
Dim message

message = InputBox("Merci de renseigner le numéro du CODE LOT concerné par
la correction.", "CODE LOT")

CorrDmndeCodeLot = message



End Function



Sub CORR_DEBUT() ' Pour Surfaces Pondérées
'Commence par VERIFICATION_SUP, inscrit le Dernier Loyer Annuel

Dim DemandeCorrection%, CelluleCodeLot As Range

DemandeCorrection = MsgBox("Vous allez lancer la procédure de correction
linéaire, cette procédure recalcul à partir du ratio du Rev. Brut Constaté en
recalculant le Total de la SUP," & Chr(10) & "mais c'est à vous de renseigner
la SUP et le Rev. Brut Constaté." & Chr(10) & Chr(10) & "Avez-vous pensé à
renseigner :" & Chr(10) & Chr(10) & "- les éventuelles Dates Fermes
concernant les baux," & Chr(10) & "- votre SUP et son Coefficient de
Pondération," & Chr(10) & "- la VLM," & Chr(10) & "- le Taux de Rendement," &
Chr(10) & "- si besoin, durée de vacance, capex, ascenseur, moins value
déplafonnée, moins value franchise," & Chr(10) & "- le Prix Moyen de Vente
Lot." & Chr(10) & Chr(10) & "Concernant le Revenu Brut Constaté le système de
correction utilise le repport du Dernier Loyer Annuel (total par bail)." &
Chr(10) & Chr(10) & "Si oui, les corrections vont s'opérer, pour annuler les
correction cliquez sur Non.", vbYesNo, "ANF 2007 - YGIL")
If DemandeCorrection = 7 Then Exit Sub



CorrDmndeCodeLot = DEMCODLOT

Set CelluleCodeLot = Range("H6")



Do While CelluleCodeLot.Value <> Empty

If CelluleCodeLot.Value <> CorrDmndeCodeLot Then


Salut Céline

Déclare ta variable en tout début ainsi :

Public Message

Puis dans un module tu enregistres une fois sa valeur ainsi :

Message = InputBox("Saisissez votre Message", "Message")

La valeur Message pourra être utilsée dans tous les modules suivant à
condition que le module qui le défini ci-dessus est été exécuté

Celà devrait faire


En fait j'ai juste besoin de pouvoir déclarer pas seulement ma variable mais
la valeur de ma variable au niveau Public pour l'ensemble du module, je ne
vais quand même pas à chaque procédure mettre une inputbox alors que c'est le
même renseignement.

Merci à tous






Avatar
Céline
ça y est ça marche,

merci beaucoup


Rebonjours à toi

dans ta Function DEMCODLOT Enlève la ligne :

Dim message

J'ai essayé ton code celà fonctionne

Et pour toi ????



Merci FFO

Mais je n'y arrive, il faut dire je suis prise par le temps et je ne peux
pas réfléchir je n'y arrive pas, il ne faut pas que l'inputbox s'active à
chaque procédure j'ai fait ça mais ça va pas :

Option Explicit
Public CorrDmndeCodeLot As Long
Public CelluleCodeLot As Range
Public message
Public NouvImm%
Public a As Double
Function DEMCODLOT()
Dim message

message = InputBox("Merci de renseigner le numéro du CODE LOT concerné par
la correction.", "CODE LOT")

CorrDmndeCodeLot = message



End Function



Sub CORR_DEBUT() ' Pour Surfaces Pondérées
'Commence par VERIFICATION_SUP, inscrit le Dernier Loyer Annuel

Dim DemandeCorrection%, CelluleCodeLot As Range

DemandeCorrection = MsgBox("Vous allez lancer la procédure de correction
linéaire, cette procédure recalcul à partir du ratio du Rev. Brut Constaté en
recalculant le Total de la SUP," & Chr(10) & "mais c'est à vous de renseigner
la SUP et le Rev. Brut Constaté." & Chr(10) & Chr(10) & "Avez-vous pensé à
renseigner :" & Chr(10) & Chr(10) & "- les éventuelles Dates Fermes
concernant les baux," & Chr(10) & "- votre SUP et son Coefficient de
Pondération," & Chr(10) & "- la VLM," & Chr(10) & "- le Taux de Rendement," &
Chr(10) & "- si besoin, durée de vacance, capex, ascenseur, moins value
déplafonnée, moins value franchise," & Chr(10) & "- le Prix Moyen de Vente
Lot." & Chr(10) & Chr(10) & "Concernant le Revenu Brut Constaté le système de
correction utilise le repport du Dernier Loyer Annuel (total par bail)." &
Chr(10) & Chr(10) & "Si oui, les corrections vont s'opérer, pour annuler les
correction cliquez sur Non.", vbYesNo, "ANF 2007 - YGIL")
If DemandeCorrection = 7 Then Exit Sub



CorrDmndeCodeLot = DEMCODLOT

Set CelluleCodeLot = Range("H6")



Do While CelluleCodeLot.Value <> Empty

If CelluleCodeLot.Value <> CorrDmndeCodeLot Then


Salut Céline

Déclare ta variable en tout début ainsi :

Public Message

Puis dans un module tu enregistres une fois sa valeur ainsi :

Message = InputBox("Saisissez votre Message", "Message")

La valeur Message pourra être utilsée dans tous les modules suivant à
condition que le module qui le défini ci-dessus est été exécuté

Celà devrait faire


En fait j'ai juste besoin de pouvoir déclarer pas seulement ma variable mais
la valeur de ma variable au niveau Public pour l'ensemble du module, je ne
vais quand même pas à chaque procédure mettre une inputbox alors que c'est le
même renseignement.

Merci à tous