Macro vérifier cellules vides selon un critère Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
E
Elodie195
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 22 août 2012
Version d'Excel : 2010

Message par Elodie195 » 15 décembre 2017, 10:39

Bonjour,

Je sollicite votre aide pour une macro Excel.

J'ai un tableau Excel avec de 2 en 2, une ligne RESULTAT et une ligne INTERPRETATION.

Je souhaiterais détecter les cellules vides qui sont différentes selon le critère RESULTAT ou INTERPRETATION (colonne B)

Si RESULTAT est présent en colonne B, les cellules colonne F ne doivent pas être vide.
Si INTERPRETATION, les cellules colonnes D, H et I ne doivent pas être vide.

J'aimerais si possible que ces erreurs soient écrites sur un onglet "RECAP" (exemple : " cellule vide détectée colonne x ligne y)

Merci pour votre aide.

Bonne journée à tous.

Elo
TEST1.xls
(27.5 Kio) Téléchargé 9 fois
Avatar du membre
vbMsgBoxHelpButton
Membre fidèle
Membre fidèle
Messages : 290
Appréciations reçues : 15
Inscrit le : 7 décembre 2017
Version d'Excel : 2007 FR

Message par vbMsgBoxHelpButton » 15 décembre 2017, 10:46

Bonjour, un essai par MFC :
TEST1_vbMBHB.xlsx
(12.47 Kio) Téléchargé 3 fois
vbMBHB
vbMsgBoxHelpButton ou bien 16384 pour les intimes :lole:
Je pars pour un très long voyage, donc aujourd'hui le 08/02/2018, je vous dis "au revoir" (°v°)°
t
thebenoit59
Membre fidèle
Membre fidèle
Messages : 436
Appréciations reçues : 10
Inscrit le : 21 juin 2016
Version d'Excel : 2016

Message par thebenoit59 » 15 décembre 2017, 10:47

Bonjour Elodie.
Bonjour vb.

Il faut que l'onglet RECAP soit existant.
Option Explicit

Sub erreurs()
Dim i%, j As Byte
With Sheets("TEST")
    i = 1
    Do While .Cells(i, "A").Value <> ""
    Select Case .Cells(i, "B").Value
        Case "RESULTAT"
            If .Cells(i, "F").Value = "" Then Call ecrireEr(i, 6)
        Case "INTERPRETATION"
            If .Cells(i, "D").Value = "" Then Call ecrireEr(i, 4)
            If .Cells(i, "D").Value = "" Then Call ecrireEr(i, 8)
            If .Cells(i, "D").Value = "" Then Call ecrireEr(i, 9)
    End Select
    i = i + 1
    Loop
End With
End Sub

Sub ecrireEr(ligne%, colonne As Byte)
Dim ii%
With Sheets("RECAP")
ii = .[A65000].End(xlUp).Row + 1
    .Cells(ii, "A").Value = "Cellule vide détectée en ligne " & ligne & " colonne " & colonne
End With
End Sub
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 15 décembre 2017, 13:34

Bonjour à tous,

Pour le fun d'une solution sans macro ... :wink:

Une formule matricielle qui ramène les adresses de toutes les cellules vides ...

En espérant que cela puisse t'aider ...
Test Elodie195 Cellules Vides.xlsx
(10.65 Kio) Téléchargé 9 fois
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
E
Elodie195
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 22 août 2012
Version d'Excel : 2010

Message par Elodie195 » 19 décembre 2017, 15:46

Bonjour,

Merci à tous pour votre aide c'est top !

Bonnes fêtes de fin d'année à tous.

Elo
Avatar du membre
James007
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'007
Appréciations reçues : 421
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 19 décembre 2017, 17:02

Elodie195 a écrit :
19 décembre 2017, 15:46
Bonjour,

Merci à tous pour votre aide c'est top !

Bonnes fêtes de fin d'année à tous.

Elo
Bonjour,

Merci pour tes remerciements communautaires ...:smile:

Très Bonnes Fêtes de fin d'Année à toi aussi ...
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message