EXCEL 2010 : automatisation feuille calcul

Fermé
Léa - 10 juin 2011 à 17:16
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 14 juin 2011 à 22:13
Bonjour,

J'ai une très grande plage de données et je cherche à automatiser mes calculs.

J'ai des coordonnées gps par appareil et des valeurs mensuelles :
colonne 1 :gps1 ; c2: coordonnées X; c3 : coordonnées Y ; c4 : mois d'une année ; c5 :mois d'après de la même année (et ainsi desuite)

Mon problème c'est que selon mon gps (point où il est installé) ma première donnée (donnée de référence sur laquelle je fais mes calculs) n'est pas forcément la colonne 4 (dans l'exemple donné). Mon calcul est simple : valeur de référence ou la plus ancienne pour chaque gps - la valeur du mois suivant et je fais ça pour tous les mois dont j'ai des données.
Ce que je souhaite c'est automatiser la recherche de la valeur la plus ancienne = la première valeur pour chaque gps (rien n'est rentré dans les cellules des mois précédents) puis la stocker (ci-besoin) de manière à automatiser mes soustractions. Et si je peux abuser (si c'est faisable surtout) c'est renvoyer dans une autre colonne, par exemple, le mois correspondant à l'année de la première valeur (valeur de référence).

Info supp : je n'ai pas Visual Basic car ordi du bureau (mais ça peut s'installer ci-besoin) et donc j'aimerais savoir déjà si ma demande est possible avec les fonctions que possède Excel.

Bon j'espère avoir réussi à expliquer ma demande mais n'éhistez pas à me redemander des détails si vous comprenez pas.

Merci d'avance pour vos réponses!

Bien cordialement,
Léa

A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
10 juin 2011 à 22:35
Re,

Tu ne précisais pas s'il fallait rester sur la même ligne ou se mettre ailleurs...
J'ai donc inséré 2 colonnes D et E.

En D2 (valeur1) :
=INDEX(2:2;MIN(SI(F2:IV2<>"";COLONNE(F2:IV2);9^9)))
formule matricielle à valider avec shift+ctrl+entrée
en E2 (date1) :
=INDEX($1:$1;MIN(SI(F2:IV2<>"";COLONNE(F2:IV2);9^9)))
formule matricielle à valider avec shift+ctrl+entrée
formules à recopier vers le bas

exemple

eric
4
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
10 juin 2011 à 18:56
Bonjour,

On comprend globalement ton besoin mais un fichier exemple serait le bienvenu...
Le déposer sur cijoint.fr et coller ici le lien fourni

eric
0
Bonsoir,

Voici le lien avec l'exemple du type de fichier que j'ai.
http://www.cijoint.fr/cjlink.php?file=cj201106/cijHTFU9TR.xlsx

Les trois premières colonnes je m'en "moque" un peu en fait.
J'espère que ça vous aidera.

Bonne soirée.
Léa
0
Désolée pour le retard et merci beaucoup ça marche nickel et pas de problème pour l'insertion ça m'arrange même en fait !
Merci encore!
Léa
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J'ai un souci -_- sur mes fichiers ça a marché mais sur celui d'un collègue qui est exactement structuré de la même manière (sauf une colonne en plus avant celles des calculs , du coup à la place de F2 on amis G2) et bah ça marche pas pourtant on a bien fait le : shift+ctrl+entrée. Peut-être il y a un module à télécharger sous excel pur que cette validation soit prise en compte... (je dis peut-être des bêtises désolée). As-tu une idée? Car on voit juste apparaître la formule quand on rajoute les crochets (comme sur le fichier de ton exemple) ou Erreur de valeurs quand on fait "Entrée".
Encore merci pour ton aide.

A oui, juste le 9^9 ça correspond à quoi exactement?
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
14 juin 2011 à 20:34
Bonsoir,

Non, pas de module à télécharger pour les formules matricielles.
Juste valider avec shift+ctrl+entrée, et si c'est bien fait les { } apparaissent (ne pas les ajouter à la main).
Et vous avez bien changé F2 en G2, donc je ne vois pas....
Mettre un extrait de son fichier avec la formule sur cijoint.fr, on y verra plus clair.

le 9^9 ça correspond à quoi exactement?
Le 9^9 (9 puissance 9 = 387420489) est là pour former un grand nombre en cas de test négatif.

SI(F2:IV2<>"";COLONNE(F2:IV2);9^9) signifie :
si F2 est vide ; alors n° de la colonne ; sinon 387420489
Comme c'est matriciel c'est calculé sur toutes les cellules F2:IV2.
Dans la matrice générée les cellules vides ont un grand nombre, les autres ont le n° de colonne. Il suffit de prendre le MIN de cette matrice pour avoir le n° de la 1ère colonne ayant un nombre.
Une fois que tu connais ce n° tu ramènes la valeur de cette cellule avec index(2:2; n° de la colonne).
Si tu ne vas que jusqu'à la colonne Z tu peux remplacer F2:IV2 par F2:Z2

eric
0
ok merci je comprend mieux la formule.
Je vais re-tester demain et sinon je mettrais un extrait de son fichier.
Merci encore pour ton aide!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 249
14 juin 2011 à 22:13
Pour que la formule fonctionne il faut que ce soit des valeurs numériques, pas des nombres mis en texte.
Sans formatage de la cellule les nombres sont à droite, les textes à gauche.
eric
0