Référence variable dans une formule

fredd

XLDnaute Occasionnel
Bonjour, j'ai besoin d'aide je ne trouve pas de solutions.
Dans ce tableau j'ai des données :
Nb PM+sens est une caractéristique variable donnée, des valeurs représenté si dessous
Le premier caractere et le nb de pts, de 1 à 6
le 2eme est le sens des points, c'est à dire Croissant, Décroissant et Aller-Retour.
L'idée est de vérifier quel les données renseigné dans les pts Pt Mes 1 à Pt Mes 6 soit correct.
Les valeurs 0 sont bien renseigné.

J'ai réussi à controle les pts 1, C et 2D
Mais je pèche vraiment sur la suite

J'ai commencé par tenter de ranger les valeurs mais ça coince déjà sur la sélection.
La sélection de rang devrais etre égale au premier caractere de NB PM+Sens. ( 1 colonne si 1 / 2 si 2 etc)

La formule:
=RANG([@[Pt Mes 1]];"REFERENCE EN FONCTION DU premier Caracctere de Nb PM+sens";1)

De là, je me suis dis que je pourrais simplement vérifier le sens en comparant les colonnes et le résultat, en gros la premiere colonne devrais avoir 1 si croissant ou 3 si décroissant dans le cas de 3 mesures
et ainsi de suite en ajoutant +1 su croissant et - 1 si décroissant dans la colonne suivaint etc.

J'ai joint de fichier excel su lequel je teste.

EDIT: j'ai réussi la partie "sens" dans les rang
il me reste vraiment cette sélection !
Doc mis à jour.

Merci.

ligne/colonneABCDEFG
2Nb PM+sensPt Mes 1Pt Mes 2Pt Mes 3Pt Mes 4Pt Mes 5Pt Mes 6
313000000
42C4200000
52C32370000
62D30-300000
72D2000000
83C60120130000
93C-1511000
103C-5011000
113C-25-20-10000
123D-30-20-10000
133D3810-20000
143D960800640000
153D100-10000
164C14019027030000
174C-1030407200
184C-5005010000
194D100500-5000
204AR05050000
215C-1001020300
225D10080302000
235AR010201000
246C-50-30-1001020
256D100806040200
266AR-700-550-400-400-550-700
276AR1,834,24,231,8
 

Pièces jointes

  • CTRL Nb de pts.xlsx
    17.3 KB · Affichages: 6
Dernière édition:

fredd

XLDnaute Occasionnel
En gros déja ce que j'aimerais c'est que ma référence en rouge soit les valeurs des pts 1, 2 et 3 parce que le premier caractère de Nb de PM+Sens est 3

1606235770431.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Fredd,
Un essai en PJ avec une fonction perso dont la syntaxe est :
VB:
=OkErr(Ligne())
Une fonction perso est plus souple dans un tel cas qu'une formule qui va être longue, très longue.
En espérant que le VBA ne vous fait pas peur. Mais si la fonction marche bous n'avez pas à y toucher.
 

Pièces jointes

  • CTRL Nb de pts (1).xlsm
    25.4 KB · Affichages: 3

fredd

XLDnaute Occasionnel
Bonjour Sylvanu et merci pour ce boulot.
Le probleme pour moi le VBA est que j'ai plus de difficulté à comprendre le fonctionnement et dans le cadre de mon boulot, nous essayon de qualifier les formules...
Mais malgré tout ça répond assez bien à ma demande. etj'ai quelques question

la premiere, il ne semble pas avoir de refresh suite à la saisie?

Un autre détail que je n'ai pas vraiment abordé c'est le AR!
s'il y a 4 point, c'est 2 poit montant et 2 point descendant
S'il y en a 5 c'est 2 point montant, un max en 3 et descendant et 4 et 5
6 point il me semble que ça fonctionne.

3 eme, j'ai vu dans VBA qu'il a des positionnement de cellule et je vais devoir transposer les calculs dans un doc ou les cellules ne sont pas tout à fait au meme endroit. Si il est possible d'identifier dans VBA les colonnes à déplacer. (s'il n'y a que "tablo = Range("A" & L & ":G" & L)" )
Dans tous les cas, quand je vois le déroulement de VBA, ça me parais plus simple à développer ... quand j'aurais vraiment appris à comprendre la logique VBA quand je serais grand :)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
la premiere, il ne semble pas avoir de refresh suite à la saisie?
Pas compris. :(

En PJ le point 3 modifié. :):):) A l'origine c'est ce qui était fait, mais il m'a semblé plus simple de passer par "ligne". La formule à entrée étant plus concise. Le mieux est l'ennemi du bien.

Pour l' AR j'avais pressenti le problème, je vais regarder mais ça va prendre un peu de temps.
 

Pièces jointes

  • CTRL Nb de pts (2).xlsm
    25.3 KB · Affichages: 2

fredd

XLDnaute Occasionnel
👏👏👏
Bon ben ça semble fonctionner comme je l'imaginais !!!

Je suis tout simplement impressionné par la simplicité (enfin visuel) de VBA et fortement impressionné pour le travail.
Je vous remercie beaucoup.
Je vais tenter de transporter sur mon gros fichier le module 1 et je vous tiens informé de la suite.
 

fredd

XLDnaute Occasionnel
Le programme c'est basculé sans encombre et à fonctionné directement.. J'ai pu identifier 76 erreur sur les 10195 lignes et je vais pouvoir controler périodiquement mes données.
Je prend l'implémentation si elle fonctionne ça me permettrais d'avoir des résultats encore plus fin.

Et pour ma premiere question, le résultats ne ce mettais pas à jour, je devais raffraichir, ... j'ai juste réactivé les calculs automatiques :rolleyes:
 

Discussions similaires

Réponses
2
Affichages
583

Statistiques des forums

Discussions
312 935
Messages
2 093 741
Membres
105 805
dernier inscrit
belgacem.nahali