fonction pérsonnalisé recherche descendante sur ligne

manikam

XLDnaute Junior
Bonjour,

je suis nouveau sur ce forum.

d'habitude je travail sur access et j'arrive à manipuler des feuille excel via vba Access. Mais là il s'agit d'un tout autre problème.

En effet je voudrais créer une fonction personnalisée dont le but est sle suivant :
sur une ligne X je saisie des données allant de la colonne 4 à la colonne 30
le valeurs peuvent être A, B, C, D, I ou vide

le but de la fonction est que la cellule X31 soit rempli automatiquement par vrai ou faux

en parcourant les cellules de X30 à X4 si la dernière cellule remplit contient A puis une autre cellule rempli par A sans que entre les deux cellules il y'ai une cellule qui soit égale à B alors la valeur de X31 prend vrai sinon X31 =faux

Merci.
 

Modeste

XLDnaute Barbatruc
Re : fonction pérsonnalisé recherche descendante sur ligne

Bonjour manikam et bienvenue sur Xld!

Pour mes augustes collègues, je ne sais pas, mais en ce qui me concerne, un petit exemple pour illustrer le tout ... ça me plairait assez :D

Allez, une dizaine de lignes avec les différentes situations qu'on pourrait rencontrer et le résultat associé devrait suffire!
 

manikam

XLDnaute Junior
Re : fonction pérsonnalisé recherche descendante sur ligne

Bonjour Modeste

Merci pour votre réponse et veuillez trouver ci-joint un exemple.

Moi j'ai pensé à cet Algo :

FORMULE ALPHA

fonction dernière_cellule_remplie() bollean

i = colonne (cellule_cible)-1
tant que i<4

SI valeur {cellule(ligne.cellule_cible;i) <> null ALORS

dernière_cellule_remplie = i
quitter la boucle
Fin SI
i = i-1
fin TANT QUE
FIN FONCTION dernière_cellule_remplie

fonction remplissage_cible () boolean

i = dernière_cellule_remplie(cellule_cible)
SI valeur{cellule(ligne_cellule_cible,i)} = B
ALORS remplissage_cible = FAUX
SINON
SI valeur{cellule(ligne_cellule_cible,i)} = A
TANT QUE i <4
SI valeur{cellule(ligne_cellule_cible,i-1)} = B ALORS
remplissage_cible = FAUX
quitter la boucle tanque
SINON
SI valeur{cellule(ligne_cellule_cible,i-1)} = A ALORS
remplissage_cible = VRAI
quitter boucle tant que
FIN SI
FIN SI

i= i-1
fin tant que
FIN SI
FIN SI

valeur (cellule_cible) = remplissage_cible
FIN FORMULE ALPHA

MERCI
 

Pièces jointes

  • exemple.xlsx
    11.1 KB · Affichages: 35
  • exemple.xlsx
    11.1 KB · Affichages: 45
  • exemple.xlsx
    11.1 KB · Affichages: 46

Modeste

XLDnaute Barbatruc
Re : fonction pérsonnalisé recherche descendante sur ligne

re-bonjour,

Pour autant que j'aie bien compris (je souligne virtuellement ce qui précède, j'ajoute 3 points d'interrogation à la fin et insiste sur le conditionnel :p)

... Bref, tester la fonction personnalisée dans la pièce jointe ... rectifier l'assaisonnement, laisser reposer 2 minutes, goûter à nouveau
 

Pièces jointes

  • Fonction manikam.xls
    36 KB · Affichages: 51

Modeste

XLDnaute Barbatruc
Re : fonction pérsonnalisé recherche descendante sur ligne

Bonsoir, cette fois,

Comme le titre de la discussion évoquait une fonction personnalisée, j'ai considéré que tu saurais trouver le code ...
Le plus simple, pour l'afficher est le raccourci Alt+F11. Dans le VBE qui s'affiche alors (l'Editeur de Visual Basic), dans la partie gauche de la fenêtre devrait figurer l'explorateur de projet (si pas, voir dans le menu affichage).
Dans l'explorateur de projet, parcourir la petite arborescence jusqu'au Module1 et double-cliquer sur ce dernier.

Bon travail,
 

Discussions similaires

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 951
dernier inscrit
Misterb