Imbrication de formule vba simple.

mawua

XLDnaute Occasionnel
Bonjour tout le monde.

Voilà, j'avais laissé ce probleme de coté de puis quelque temps mais bon ben là faut que je le finisse et je ne m'en sort pas des imbrications de formule.

Je scanne par vba des formulaires. Je recherche une chaine de caractère dans une zone définit
La chaine de caractère peut être "OS" ou "Bon"
Si l'une des chaines de caractère est repérée, je veux que la cellule de droite soit recopié dans une BDD.
Si la cellule est vide, une formulaire de saisie apparait soit un formulaire OS si c'est OS qui etait ecrit, soit "Bon" si c'est "Bon qui etait écrit dans la cellule.
S'il n'y a rien, ni "OS", ni "Bon" dans la zone de recherche, le formulaire OS doit apparaitre.

Le code que j'utilise est dans le module 1. Tout se fait avec le bouton valider. Qui declenche une cascade d'evenement.
Donc cette macro de recherche OS et Bon.

Merci pour le coup de pouce.
 

Pièces jointes

  • BDD.zip
    41 KB · Affichages: 42
  • BDD.zip
    41 KB · Affichages: 42
  • BDD.zip
    41 KB · Affichages: 44

mawua

XLDnaute Occasionnel
Re : Imbrication de formule vba simple.

Pour plus de précision, je me rend compte que j'ai été un peu court.
J'ai tenté des imbrication de boucle for.
Ca ne fonctionnait pas car je mettait des conditions intermédiaires trop longue probablement, et excel me mettait des erreurs "end with sans with" ou "next sans for" c'est pour ça que j'en suis arrivé à faire des renvois de macro completement stupide qui pour la plupart ne veulent rien dire.

Merci encore de (encore) faire l'effort de me lire.
 

mawua

XLDnaute Occasionnel
Re : Imbrication de formule vba simple.

Bonjour lacorse,

Oui c'est tout à fait cela. Apparemment j'avaias négligé les Boolean
et je m'etais emmélé les pinceaux entre Target et Cellos.
Je teste si ça passe sur la base de donnée complète et je te tiens au courant.
 

mawua

XLDnaute Occasionnel
Re : Imbrication de formule vba simple.

J'ai adapté le tout à la vraie BDD, et ça s'insère comme une fleur.
Mis à part une grosse boulette de ma part. Pour moi c'est une affaire qui roule.
Une bonne chose de faite.
Encore merci lacorse.
 

mawua

XLDnaute Occasionnel
Re : Imbrication de formule vba simple.

Il me reste l'affichage "par défaut" du formulaire OS si rien n'a été trouvé dans la zone de recherche.
J'ai continué à déroulé le code sur la même inspiration, c'est à dire comme ça:

Set Plage = Sheets("page 1").Range("F20:G24") 'active la plage de cellule en page 1
For Each cellos In Plage
If TestOS(cellos) = True Then
i = 1
Sheets("BDD").Cells(Ligne, 3) = cellos.Offset(0, 1) 'le contenu de la cellule de droite est transmis en BBD"
Else: i = 0
End If
If TestBon(cellos) = True Then
j = 1
Sheets("BDD").Cells(Ligne, 3) = cellos.Offset(0, 1) 'le contenu de la cellule de droite est transmis en BBD"
Else: j = 0
End If
next cellos


...

If i + j = 0 Then
USFOS.Show
Sheets("BDD").Cells(Ligne, 3) = USFOS("TextBox1").Value 'ordre de service
.Cells(Ligne, 9) = USFOS("Textbox2").Value 'Date prévisionnelle d'achèvement
Application.CutCopyMode = False
End If
End With
End Sub


Sauf que au lieu de m'afficher le formulaire par défaut, il me l'affiche à chaque fois. Même lorsque c'est "Bon" qui est écrit dans la zone de recherche???
 
Dernière édition:

mawua

XLDnaute Occasionnel
Re : Imbrication de formule vba simple.

Re
Je suis obligé de tailler dans le vif, mais ça devrait être démonstratif.
Et voilou, le fichiou.
 

Pièces jointes

  • BDD2.zip
    37.9 KB · Affichages: 37
  • BDD2.zip
    37.9 KB · Affichages: 45
  • BDD2.zip
    37.9 KB · Affichages: 37

Discussions similaires

Réponses
12
Affichages
606