condition si 2 plages cellules sont remplies

VBANOVICE

XLDnaute Junior
bonjour a tous

toujours debutant en vba
j'aimerais trouver une macro pour executer une contion:
(dans mon fichier exemple joint)

si une donnee est rentree dans la plage f14:f104 et aucune donnee dans la plage g14:g104 renvoie un msgbox " veuiller saisir un numero "

si aucune donnee dans les 2 plages rien ne passe ( ceci est normal)
si les donnees sont remplies dans les 2 plages rien ne se passe ( ceci est normal)
cette condition peut etre executee si changement de colonne ou de ligne
ou en executant macro5 (enregistrer)
Merci de votre aide
cordialement
 

Pièces jointes

  • 1234test.zip
    47.9 KB · Affichages: 42
  • 1234test.zip
    47.9 KB · Affichages: 40
  • 1234test.zip
    47.9 KB · Affichages: 37

Catrice

XLDnaute Barbatruc
Re : condition si 2 plages cellules sont remplies

Bonjour,

Si tu affiches une msgbox à chaque changement de ligne ou de colonne, tu ne vas pas arreter de cliquer sur le bouton OK de la msgbox.
Etant donné que tu ne peux pas saisir en meme temps dans la colonne F et la colonne G ;)

Peut etre passer plutot par une MFC ou un macro qui s'execute à partir d'un évènement plus global (comme l'enregistrement).

Ci-joint un exemple avec une MFC
 

Pièces jointes

  • 1234test.zip
    48.2 KB · Affichages: 50
  • 1234test.zip
    48.2 KB · Affichages: 55
  • 1234test.zip
    48.2 KB · Affichages: 54
Dernière édition:

VBANOVICE

XLDnaute Junior
Re : condition si 2 plages cellules sont remplies

Bonjour,

Si tu affiches une msgbox à chaque changement de ligne ou de colonne, tu ne vas pas arreter de cliquer sur le bouton OK de la msgbox.
Etant donné que tu ne peux pas saisir en meme temps dans la colonne F et la colonne G ;)

Peut etre passer plutot par une MFC ou un macro qui s'execute à partir d'un évènement plus global (comme l'enregistrement).

Ci-joint un exemple avec une MFC


merci de me repondre mais je n'ai pas compris......
comment on utilise une MFC, ou puive avoir un exemple de macro qui pourait etre ajoute dans la macro 5 enregistrer

merci de ma repondre
@+
 

Catrice

XLDnaute Barbatruc
Re : condition si 2 plages cellules sont remplies

Re,

Pour voir comment fontionne l'exemple, il suffit de se mettre sur une des cellules du tableau de saisie et d'aller dans Format/Mise en Forme Conditionnelle.
MFC = Mise en Forme Conditionnelle
En fonction de ce qui est saisi dans les cellules, on peut changer les parametres de la police du fond de la cellule et/ou de l'encadrement.

Ca, je n'ai pas compris :
ou puive avoir un exemple de macro qui pourait etre ajoute dans la macro 5 enregistrer
 

VBANOVICE

XLDnaute Junior
Re : condition si 2 plages cellules sont remplies

Re,

Pour voir comment fontionne l'exemple, il suffit de se mettre sur une des cellules du tableau de saisie et d'aller dans Format/Mise en Forme Conditionnelle.
MFC = Mise en Forme Conditionnelle
En fonction de ce qui est saisi dans les cellules, on peut changer les parametres de la police du fond de la cellule et/ou de l'encadrement.

Ca, je n'ai pas compris :

merci
j'ai vu avec la MFC, mais la condition n'est pas respectee
en effet si une donnee est dans la cellule F et rien en G il faut imperativement avertir de remplir G
pour la phrase que tu ne comprend pas remplace puive par "est il possible d'avoir"
@+
 

Catrice

XLDnaute Barbatruc
Re : condition si 2 plages cellules sont remplies

Re,

La MFC met la ligne en rouge si :
1) il y a quelque chose dans la premiere colonne
2) F ou/et G sont vides
NB - on peut "intensifier" le test

Pour la 2eme question, tu peux tester ce code :
Sub test()
With Sheets("Saisie")
For Each X In .Range("B14:" & .Range("B65536").End(xlUp).Address)
If X.Offset(0, 4) = "" Or X.Offset(0, 5) = "" Then MsgBox "Saisir des données dans la ligne " & X.Row
Next
End With
End Sub

Qui affiche un msgbox à chaque ligne incomplete.

Mais il faut que tu vois comment gerer ceci.
Si tu executes cette macro sur l'evenement SelectionChange ou Change, ça va etre la "boite de nuit" car ça va clignoter à chaque saisie ;)
Si tu l'affectes à un bouton ça va afficher x messages mais apres il faut aller remplir les cellules vides, et surtout se rappeler des x cellules à remplir :D
D'où l'idée de la MFC qui est tres visuelle. C'est rouge tant que ce n'est pas correctement saisi !
 
Dernière édition:

VBANOVICE

XLDnaute Junior
Re : condition si 2 plages cellules sont remplies

Re,

La MFC met la ligne en rouge si :
1) il y a quelque chose dans la premiere colonne
2) F ou/et G sont vides
NB - on peut "intensifier" le test

Pour la 2eme question, tu peux tester ce code :
Sub test()
With Sheets("Saisie")
For Each X In .Range("B14:" & .Range("B65536").End(xlUp).Address)
If X.Offset(0, 4) = "" Or X.Offset(0, 5) = "" Then MsgBox "Saisir des données dans la ligne " & X.Row
Next
End With
End Sub

Qui affiche un msgbox à chaque ligne incomplete.

Mais il faut que tu vois comment gerer ceci.
Si tu executes cette macro sur l'evenement SelectionChange ou Change, ça va etre la "boite de nuit" car ça va clignoter à chaque saisie ;)
Si tu l'affectes à un bouton ça va afficher x messages mais apres il faut aller remplir les cellules vides, et surtout se rappeler des x cellules à remplir :D
D'où l'idée de la MFC qui est tres visuelle. C'est rouge tant que ce n'est pas correctement saisi !


bonjour a tous

merci de porter attention a mon probleme qui avance pas a pas grace a vous...
pour que la ligne soit valide , il peut y avoir
 

VBANOVICE

XLDnaute Junior
Re : condition si 2 plages cellules sont remplies

bonjour a tous et a catrice

mon sujet avance pas a pas grace a vous...

pour que ma ligne soit valide,
certaine cellule peuvent etre vide mais si une donnee est dans F et pas dans G il faut un moyen d avertir l'utilisateur, c'est pour cela je pense qu'avec une macro liée avec un bouton sera plus facile....

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 200
Membres
103 762
dernier inscrit
rouazali