## Balayage ligne par ligne pour vérifier condition ## (Oui mais ...)

  • Initiateur de la discussion Initiateur de la discussion ROGER2tours
  • 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 !

R

ROGER2tours

Guest
Bonjour à tous (ou plutôt bonne nuit !!)

C'est avec beaucoup d'intérêt que j'aie suivi le topic résolu par Rai.

Je rencontre la problématique de dagada75 MAIS mon soucis, comme l'a remarqué Rai c'est que mes colonnes NE SONT PAS contigues !

😱(

En effet, je connais déja mes colonnes (A, D, F) à contrôlé... et ayant masqué B, C et E (avec obligation de cellule vide), je ne peux appliquer ta formule Rai, ligne par ligne ....

😱(

Aurais une V3 de ta soluce qui puisse passer outre cette difficulté (la je crois que la version 3 de ta solution serait finale !).
Les autres XLDnautres (ca existe) peuvent participer à ce projet bien entendu ... Merci à TOUS et à votre talent.


Rappel de la solution V2 de Rai qui nécessite que les colonnes soient contingues :
***********************************************************

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Pcol! = 1 'N° 1ere colonne à examiner
NbCol! = 3 'Nombre de colonnes concernées

For Col! = Pcol To Pcol + NbCol - 1
DerLig = WorksheetFunction.Max(Cells(65535, Col).End(xlUp).Row, DerLig)
Next Col

For Lig! = DerLig To 1 Step -1
For Col! = Pcol To Pcol + NbCol - 2
If Cells(Lig, Col) = "" Or Cells(Lig, Col + 1) = "" Then Flag = True
Next Col
Next Lig

If Flag Then
Cancel = True
MsgBox "Il reste des cellules non renseignées !"
End If
End Sub

***********************************************************
 
Bonjour Roger,

YaKa demander ;o))
L'adaptation n'était pas trop complexe.
Pour adapter la solution à tes besoins, tu dois renseigner 2 variables :
NBCol qui contient le nombre de colonnes concernées par la vérification
Tcol qui contient un tableau (Array). Ce tableau étant la liste des N° de colonnes à traiter.

Faudra que je regarde comment compter le nombre d'éléments contenus dans un tableau ... ça évitera d'avoir à renseigner NbCol ... dans une V3.1 p'tet ? ;oP

Bonne journée

Rai

--------

NbCol! = 4 'Nombre de colonnes concernées
Tcol = Array(2, 3, 5, 7) 'liste des colonnes
For i! = 0 To NbCol - 1
DerLig = WorksheetFunction.Max(Cells(65535, Tcol(i)).End(xlUp).Row, DerLig)
Next i
For Lig! = DerLig To 1 Step -1
For i! = 0 To NbCol - 2
If Cells(Lig, Tcol(i)) = "" Or Cells(Lig, Tcol(i + 1)) = "" Then
Flag = True
Lig = 1
Exit For
End If
Next i
Next Lig
If Flag Then
Cancel = True
MsgBox "Il reste des cellules non renseignées !"
End If
 
- 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

Réponses
2
Affichages
190
Réponses
5
Affichages
719
Réponses
16
Affichages
1 K
Réponses
4
Affichages
681
Réponses
35
Affichages
2 K
Réponses
8
Affichages
656
Réponses
3
Affichages
842
Retour