Table vérité avec chiffre et pas variable

Bonjour à tous,

Je cherche à réaliser un petit outil qui fonctionne sur le même principe qu'une table de vérité mais avec des chiffres et avec un pas variable.

Comme un exemple vaut mieux que des explications, j'attache un fichier qui montre l'objectif.

J'ai cherché à le réaliser par moi même.

J'arrive à traiter les colonnes indépendamment (mais ce n'est pas jo-jo) et je n'arrive pas à tenir compte des données propres aux autres colonnes.

Merci pour votre aide !

Bonsoir,

@ bientôt

LouReeD

Bonsoir à tous,

Hello LouReeD , de ce que j'ai compris:

on incrémente mini avec un pas jusqu'à obtenir maxi :

ce qui nous donne:

image

donc 3 valeurs (nb) pour la première colonne, 2 pour la seconde et 5 pour la dernière,

ensuite il faut boucler pour obtenir le tableau rose, (je crois d'ailleurs qu'il a 10 lignes en trop...)

Je te rassure, il m'a fallu un moment pour comprendre la demande et maintenant je n'ai plus le temps d'essayer...

Cordialement,

Merci xorsankukai d'avoir traduit mon problème plus clairement

Je ne suis pas très doué pour formaliser le besoin, mais tu as parfaitement compris.

Et oui il y a bien 10 lignes de trop dans mon exemple...

Le tableau rose j'avais compris, je pensais que c'est l'utilisation de ce tableau dans la deuxième feuille qu'il fallait régler...

Il faut donc un code pour le rose ?

@ bientôt

LouReeD

Bonsoir Bartras, le Fil,

Si il existe un minimum et un maximum il faut faire la différence entre eux et diviser cette différence par l'écart de lignes.

Pour la 1ière colonne c'est 60 - 50 = 10 de différence, l'écart de ligne est de 2 (3-1). Donc le pas est de 10/2 soit 5.

Pour la 2ième colonne c'est 20 - 10 = 10 de différence, l'écart de ligne est de 1 (2-1). Donc le pas est de 10/1 soit 10.

Pour la 3ième colonne c'est 0,8 - 0,1 = 0,7 de différence, l'écart de ligne est de 7 (8-1). Donc le pas est de 0,7/7 soit 0,1.

Bonsoir,

un petit code sans "se prendre la tête", il vous faudra mettre les références de cellule en variables ou autre :

Sub LRD()
    ligne = 7
    For c1 = Range("C2") To Range("C3") Step Range("C4")
        For c2 = Range("D2") To Range("D3") Step Range("D4")
            For c3 = Range("E2") To Range("E3") Step Range("E4")
                Cells(ligne, 3) = c1
                Cells(ligne, 4) = c2
                Cells(ligne, 5) = c3
                ligne = ligne + 1
            Next c3
        Next c2
    Next c1
End Sub

Bonsoir X Cellus et bonne année @ vous !

@ bientôt

LouReeD

Oui désolé Lou, la feuille2 c'est un reliquat de la fonction DECALER que j'essayais de comprendre pour résoudre mon problème et j'ai oublié de la supprimer avant de l'envoyer (et je n'arrive pas à éditer mon premier message).

En fait, je voudrais le faire sans VBA, directement depuis les formules de cellule

A nouveau et merci,

Bonsoir LouReeD, Xorsankukai, Bartras,

Bonne Année @ vous et Meilleurs vœux.

Comme c'était l'heure du dîner, j'ai fait au plus vite...

A +

Voilà le fichier avec formule "exotiques" mais cela semble fonctionner :

@ bientôt

LouReeD

après un essai il y a des erreurs...

@ bientôt

LouReeD

Celle-ci sera t elle la bonne ?

Vu que j'utilise le numéro de ligne où se trouve les formules afin de créer des retour "en arrière" de valeur, le tableau commence en ligne 1 et cette fonction LIGNE() se voient attribuer un -1 pour faire "0" sur la première ligne, donc si vous décalez le tableau résultat en ligne 4, il faudra remplacer les "-1" par "-4" afin de tomber sur 0 sur la première ligne du tableau résultat.

@ bientôt

LouReeD

Incroyable !

Merci beaucoup, j'avais avancé de mon coté mais je bloquais encore sur le lien entre colonne.

Vraiment super, bonne année et bonne journée ;)

J'ai essayé de le décaler avec tes recommandations sur le -1 mais il y avait un souci.

J'ai eu à modifier la formule de la colonne qui commence par 0.4, en remplaçant

=SI(G1="";"";$E$1+(ENT(LIGNE()-1/$E$4)*$E$3)-
SI($E$1+(ENT(LIGNE()-1/$E$4)*$E$3)>$E$2;
(ENT((LIGNE()-1)/($E$4)))*($E$3*$E$4);
0))

par (lorsqu'on décale en ligne 6)

=SI(C6="";"";$E$1+(ENT((LIGNE()-5)-1/$E$4)*$E$3)-
SI($E$1+(ENT(LIGNE()-6/$E$4)*$E$3)>$E$2;
(ENT((LIGNE()-6)/($E$4)))*($E$3*$E$4);
0))

Et ça fonctionne.

Je joins le fichier final si ça peut aider d'autres personnes.

Encore merci.

Bonjour,

Merci pour votre retour et remerciement et bravo pour la correction, enfin l'adaptation du code !

@ bientôt

LouReeD

Rechercher des sujets similaires à "table verite chiffre pas variable"