Compter des cellules vides et convertir

Bonjour,

Voici mon problème : (j'espère être clair...)

1) ce que ça doit faire :

La colonne H doit donner des valeurs en mm sur une "règle graduée" en cm (au pas de 10, colonne G).

Les valeurs de H sont les conversions en mm des valeurs de D qui sont données en inch sur une règle graduée en inch (au pas de 1, colonne C)

2) Premier problème résolu :

Un nombre entier d'inch ne "tombe pas" sur les valeurs entières en cm de la colonne G (ex : 5 x 2.54 = 12.7 donc ni 10cm ni 20cm) j'ai donc besoin d'une règle de 3 pour remplir la colonne H (voir formules dans les cellules de H). Ca c'est fait...

3) Problématique (non résolue) :

  • je récupère d'une base de donnée, en colonne D (à la main) des valeurs mais toutes les cellules ne sont pas renseignées. La liste des valeurs données en colonne D n'est que rarement complète, seule la valeur en D2 est toujours présente.
  • ensuite le "pas" des cellules remplies est soit de 1, soit de 2, soit de 5... bref, jamais le même.
  • Dans le cas qui est présenté, seules les cellules coloriées en orange étaient données, le pas était ici souvent de 1, de 2 et de 3.

4) Ce que je vous demande :

  • j'ai rempli les cellules blanches de la colonne D à la main en utilisant la colonne F pour avoir leur résultat. Ca marche, mais c'est manuel...
  • Est-il possible d'automatiser le remplissage des cellules de la colonne D après que le remplissage (à la main) des cellules dont la valeur est connue ait été fait. Ici seules les cellules en orange était connues. Il faudrait donc un programme qui compte le nombre "N" de cellules vide entre deux cellules oranges, qui "voie" que la cellule est vide et qui la remplisse avec la valeur de la cellule orange précédente + X fois la différence des deux cellules divisé par N... enfin il me semble.

... Mais je n'y arrive pas.

Merci

Christophe

24test1.xlsx (27.39 Ko)

Bonjour Christophe,

Ci-joint ton fichier test ...

Pour tester ton processus d'interpolation, la colonne L sert de test pour pouvoir la comparer à la colonne D ...

Merci James pour ton travail. Mais ce n'est pas tout à fait ce que je voulais.

C'est ma faute, je n'aurais pas dû présenter le fichier tel quel.

Sur le fichier "test2" j'ai épuré en enlevant ce que j'avais fait à la main.

La colonne D (orange) doit être remplie à la main car elle provient d'une bases de données anglaise (inch) et que cela sera fait par des opérateurs très limités en informatique.

J'ai présenté 5 cas, des colonnes J à N, qui en réalité proviendront d'un autre fichier et ne seront pas placées ici sur cette feuille.

Tous les cas ne sont pas présentés, ils peuvent utiliser les lignes jusqu'à la 133.

Donc après avoir rempli les cellules connues de la colonne D, l'utilitaire doit remplir les cellules orange vides par des valeurs qui considèreront que la progression entre deux cellules connues est linéaire. (donc ajout d'une valeur au prorata du nombre de cellules vides soit : 1/2 de la différence si une cellule vide, 1/3 de la différence si deux cellules vides, 1/4 de la différence si trois cellules vides... etc)

Nota : est-il possible de travailler (sans plus de complication) avec des formules en cellules plutôt qu'avec des macros ? Tout simplement parce-que j'arrive plus facilement à suivre ce qui m'est proposé.

J'espère avoir été plus clair.

Christophe

19test2.xlsx (31.54 Ko)

Re,

Merci pour tes explications complémentaires ... qui confirment ce que tu avais exposé dans ton premier message ...

En ne mettant dans la colonne L que les données chiffrées connues de la colonne D ... est-ce-que tu obtiens les données correctes qui respectent les règles que tu as fixées ... ???

Au final, as-tu les mêmes données avec la version manuelle (colonne D) et la version automatique (colonne L) ...???

Non, puisque c'est ce que je veux que ça fasse tout seul.

Mille pardons James, je n'avais pas compris que tu parlais de ton fichier.

Alors oui effectivement ça fonctionne bien tel que je le souhaitais.

Maintenant je voudrais pouvoir l'intégrer dans mes fichiers, mais je ne maîtrise absolument pas VisualBasic.

1) T'es t-il possible d'intégrer ta programmation à mon fichier "test2" car sa longueur est complète jusqu'à la ligne 133 ?

2) la programmation suivra t-elle la feuille si j'intègre la feuille par collage sur un autre fichier ?

3) Comment pourrais-je bouger le bouton, je n'y arrive pas sur ton fichier ?

4) Cette programmation est lue à partir de quelle version d'Excel ?

Merci d'avance

Christophe

Bonjour,

Ci-joint ton fichier test Version 2 ...

Il y a un petit bug, ce n'est pas la colonne D mais les colonnes J à N qui subissent l'action de l'interpolation.

Christophe79 a écrit :

Il y a un petit bug, ce n'est pas la colonne D mais les colonnes J à N qui subissent l'action de l'interpolation.

Bonjour,

Ta colonne D est totalement vide ... donc par définition l'interpolation du vide sur du vide ...donnerait ... du vide ...

Du coup, j'ai supposé qu'il te fallait simuler les cinq cas possibles ... non ???

Ah, non, tu m'as mal lu.

Dans mon message précédent, je te disais comment sera utilisée la colonne D sur les futurs fichiers : Elle sera vide au départ et sera remplie à la main avec les informations venant d'une base de données anglaise.

Christophe79 a écrit :

...La colonne D (orange) doit être remplie à la main car elle provient d'une bases de données anglaise (inch) et que cela sera fait par des opérateurs très limités en informatique.

Et les cinq cas sont quelques exemples que j'ai intégré à la feuille pour que tu puisses faire des tests. Mais c'est bien en colonne D que l'interpolation doit être faite.

Christophe79 a écrit :

...J'ai présenté 5 cas, des colonnes J à N, qui en réalité proviendront d'un autre fichier et ne seront pas placées ici sur cette feuille.

Tous les cas ne sont pas présentés...

Re,

Ci-joint La Version 3 ...

Bonjour,

le fichier de james un peu modifié pour le limiter à D

eric

Merci beaucoup messieurs.

Christophe79 a écrit :

Merci beaucoup messieurs.

De rien ...

L'essentiel est que tu aies trouvé ta solution ...

Désolé, je n'avais pas vu la 2nde page où tu avais déjà répondu...

eric

Une petite question encore.

Je viens d’intégrer cette feuille à un classeur et souhaite protéger la feuille sauf les cellules oranges.

La macro ne travaille plus lorsque la feuille est protégée. Y a t-il une astuce ?

Bonjour,

En VBA, pour travailler en mode protégé, il te faut :

en début de code :

ActiveSheet.Unprotect

et en fin de code:

ActiveSheet.Protect

Ok, merci.

Merci pour tes remerciements ...

C'est la moindre des choses que de dire merci, non ?

Rechercher des sujets similaires à "compter vides convertir"