Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

obligation de remplir cellule pour passer au mois suivant

  • Initiateur de la discussion Initiateur de la discussion donadoni16
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

donadoni16

Guest
Bonjour à tous,
j'ai fichier avec lequel je fais le suvi de consommation de l'imprimante mensuellement,
j'aimerais ajouter une condition à mon code commme ça en cliquant sur ajouter un mois un message m'interdira de passer au mois suivant si les cellules de la ligne 10 et 12 ne sont pas remplies.
dans ce cas par exemple E10 et E12
 

Pièces jointes

Bonjour,

Une idée :
VB:
Sub CopierMois()
Dim C As Range
    Set C = Cells(8, Columns.Count).End(xlToLeft).Offset(, 1)

For Each cel In Range(Cells(9, Range("C8").End(xlToRight).Column), Cells(16, Range("C8").End(xlToRight).Column))
If cel = "" Then
    MsgBox ("mois non terminé")
    Exit Sub
End If
Next cel

    Range("D8:D22").Copy C
    C.Offset(1).Resize(4).ClearContents
    C.Offset(1).FormulaR1C1 = "=R[1]C[-1]"
    C.Offset(3).FormulaR1C1 = "=R[1]C[-1]"
    Application.CutCopyMode = False
End Sub
 
Bonjour hieu,
merci pour votre réponse ca marche très bien,
peut on ajouté une condition c'est à dire le message qui m'interdit si les cellules de la ligne 10 et 12 ne sont pas remplis m'interdit aussi si ces la valeur des cellules de la ligne 9 sont < de celles de la ligne 8, (la même chose si la valeur des cellules de la ligne 11 sont < de celles de la ligne 10)

Cordialement
Donadoni
 
Re,

Pas sûr d'avoir compris :
VB:
Sub CopierMois()
Dim C As Range
    Set C = Cells(8, Columns.Count).End(xlToLeft).Offset(, 1)

For Each cel In Range(Cells(9, Range("C8").End(xlToRight).Column), Cells(16, Range("C8").End(xlToRight).Column))
If cel = "" Then
    MsgBox ("mois non terminé")
    Exit Sub
End If
Next cel

If Cells(10, Range("C8").End(xlToRight).Column) < Cells(9, Range("C8").End(xlToRight).Column) Then
    MsgBox ("pb : compteur fin < compteur debut")
    Exit Sub
End If

If Cells(12, Range("C8").End(xlToRight).Column) < Cells(11, Range("C8").End(xlToRight).Column) Then
    MsgBox ("pb : compteur fin < compteur debut")
    Exit Sub
End If

    Range("D8:D22").Copy C
    C.Offset(1).Resize(4).ClearContents
    C.Offset(1).FormulaR1C1 = "=R[1]C[-1]"
    C.Offset(3).FormulaR1C1 = "=R[1]C[-1]"
    Application.CutCopyMode = False
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
9
Affichages
2 K
D
O
Réponses
5
Affichages
2 K
O
Réponses
4
Affichages
2 K
Onagre
O
S
Réponses
14
Affichages
3 K
saphya
S
Y
  • Question Question
Réponses
4
Affichages
1 K
YesWeExcel
Y
K
Réponses
3
Affichages
738
koikili
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…