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

XL 2013 afficher un msgbox si une plage de données est vide mais avec une condition

jhibon80

XLDnaute Nouveau
bonjour,

j'ai besoin de faire afficher un msgbox si la plage de données allant de k6 à v6 est vide MAIS si A6 est non vide.

et répéter ceci pour chacune des lignes de mon tableau (dernière ligne n°90)

 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Jhibon, bonjour le forum,

Peut-être comme ça :

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
For I = 6 To DL 'boucle sur toutes les lignes I de 6 à DL
    'si la cellule en colonne A de la boucle n'est pas vide et le nombre de cellules vides des colonne K à V est égale à 12, message
    If O.Cells(I, "A").Value <> "" And Application.WorksheetFunction.CountBlank(O.Range(O.Cells(I, "K"), O.Cells(I, "V"))) = 12 Then MsgBox "Ligne " & I & " à completer !"
Next I 'prohaine ligne de la boucle
End Sub
 

jhibon80

XLDnaute Nouveau
Merci beaucoup Robert. puis je abuser encore?
ce message pourrait il apparaître lorsque l'on descend sur la ligne suivante.

en gros si en A6 je mets ma date et que je vais à la ligne du dessous sans avoir complété de K à V je veux que le message apparaisse.

je suis désolée je commence tout juste le VBA et je vois que c'est pas gagné!
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

C'est faisable mais il faut utiliser la macro événementielle Change. Pour pas perdre des heures à t'explique comment la placer, je préfèrerais que tu envoies ton fichier...
 

jhibon80

XLDnaute Nouveau
Merci Robert

je dois mettre ça en place afin que je sois sure que les personnes utilisant ce fichier me mettent toutes les données.
 

Pièces jointes

  • test conan.xlsm
    57.6 KB · Affichages: 17

jhibon80

XLDnaute Nouveau
Merci Robert.
là le message s'affiche quand tu passes d'une cellule à une autre sur la ligne 6. je vais etre chiante mais je l'aurai voulu à la fin de la ligne quand tu veux passer à la ligne suivante et quand tu selectionnes dans le tableau par exemple A7.
en résumé bloquer toute action si K6:V6 sont vides.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

J'ai utilisé la protection de l'onglet les lignes inférieures se verrouillent/déverrouillent en fonction du remplissage.
 

Pièces jointes

  • Jhibon_v02.xlsm
    53.8 KB · Affichages: 19

jhibon80

XLDnaute Nouveau
bonjour Job75 => pour te répondre : au moins une.

Robert => super. juste une question pourquoi on passe à la dernière ligne? on peut pas rester sur la cellule de la ligne à compléter?
c'est juste une question
 

job75

XLDnaute Barbatruc
Re,

Fichier joint et cette macro :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range, cible As Range
If Target.Row < 6 Then Exit Sub
For Each c In Range("A6", Range("A" & Rows.Count).End(xlUp)(6))
    If c <> "" And c.Row <> Target.Row Then
        Set cible = c(1, 11).Resize(, 12) 'colonnes K à V
        If Application.CountA(cible) = 0 Then
            Application.EnableEvents = False 'désactive les évènements
            cible.Select
            Application.EnableEvents = True 'réactive les évènements
            MsgBox cible.Address(0, 0) & " à renseigner..."
            Exit For
        End If
    End If
Next
End Sub
Pas de message quand la ligne sélectionnée est celle qui est concernée par le contrôle.

A+
 

Pièces jointes

  • test conan(1).xlsm
    61.4 KB · Affichages: 16

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

En pièce jointe la version 3 mais... Si j'étais toi... J'utiliserai le code de Job... C'est un super balèze...
 

Pièces jointes

  • Jhibon_v03.xlsm
    55.4 KB · Affichages: 11

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…