> Tous les forums > Forum Bureautique
 ajout de tableau par macro
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Oli359
  Posté le 07/02/2016 @ 17:29 
Aller en bas de la page 
Petit astucien

Salut à tous!

Je viens de créer une feuille de calcul contenant une série de tableaux placés les uns à la suite des autres me permettant d'encoder des points de levés (niveaux).

Pourriez-vous me donner la voie à suivre pour pouvoir créer une macro qui me permettrait, d'un simple "clic", de rajouter un nouveau tableau à la suite de ceux existant, tout en conservant bien sûr les formules qui y sont encodées?

Il faudra également veiller à ce que, pour chaque nouveau tableau, les formules encodées dans les colonnes "+" et "-" fassent références à la valeur encodée dans la cellule colorée de la colonne "arrière" du nouveau tableau, et que les formules de la colonne "altitude provisoire" fassent références au résultat de l'altitude provisoire du tableau précédent. (j'espère que j'ai été clair... ).

Le mieux est évidemment que je partage le fichier.

Je sais pas si on peut mettre une pièce jointe. Ou si quelqu'un se sent d'attaque pour résoudre ce problème, je peux lui envoyer le fichier.

Merci d'avance pour votre aide!!!

Publicité
ferrand
 Posté le 07/02/2016 à 23:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Oui, il est recommandé de mettre un fichier illustrant ta configuration et ce que tu veux obtenir.

Pour communiquer ton fichier, tu passes par un hébergeur : http://cjoint.com

Tu mets le lien vers le fichier dans un prochain post.

Cordialement.

Oli359
 Posté le 08/02/2016 à 20:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Et voilà le lien vers le fichier : http://www.cjoint.com/c/FBitKZVQNAq

ferrand
 Posté le 08/02/2016 à 22:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Vu ton tableau :

1) Il va falloir choisir : 10, 9 ou 8 lignes de hauteur.

9 avec une ligne de séparation entre 2 tableaux pourrait être une bonne solution (écart de 10 lignes, facile à vérifier visuellement...)

2) Je vais voir la meilleure solution pour rendre les formules exportables d'un tableau à l'autre, ce qui simplifiera la procédure...

NB- Ne pas mettre de nombres entre guillemets, selon les cas cela pourrait produire des résultats inattendus, les guillemets sont réservés au texte.

Je vois ça demain...

A+

ferrand
 Posté le 08/02/2016 à 23:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Première phase d'ajustement :

Place l'altitude provisoire initiale en J4, l'arrière du premier tableau en E6 et les tableaux se positionnent de 6 à 14 pour le premier, puis 16 à 24, 26 à 34, etc.

Nommés (je ne sais s'il faut qualifier de plage nommée ou formule nommée, cela tient des 2 ) :

altprov: =DECALER(Feuil1!$J$4;ENT((LIGNE()-5)/10)*10;)

arr: =DECALER(Feuil1!$E$6;ENT((LIGNE()-5)/10)*10;)

[A voir dans le gestionnaire de noms.]

Ainsi, lorsqu'on se trouve dans le 1er tableau : =altprov renverra la valeur de J4 et =arr renverra la valeur de E6, dans le 2e =altprov renverra la valeur de J14 et =arr renverra la valeur de E16.

Les formules de la lignes 7 deviennent :

H7 : =SI(ESTVIDE(G7);"";SI(arr>G7;arr-G7;0))

I7 : =SI(ESTVIDE(G7);"";SI(arr<G7;G7-arr;0))

J7 : =SI(ESTVIDE(G7);"";SI(H7=0;altprov-I7;altprov+H7))

(J'ai vu aussi que tu ne lésinais pas sur les parenthèses... ; il vaut mieux être minimaliste en la matière, car en s'attaquant à des formules un peu complexes ou longues, tu risques d'en perdre vite le compte.)

Les formules deviennent ainsi parfaitement recopiables d'un tableau à l'autre.

http://www.cjoint.com/c/FBiwXInjIsy

Macro, demain ! Il va être 03h00 chez moi...

A+

ferrand
 Posté le 09/02/2016 à 05:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Et voilà la suite. A tester.

http://www.cjoint.com/c/FBjeEqZFGVy

Cordialement.

Oli359
 Posté le 11/02/2016 à 13:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut Ferrand!!

Merci pour le suivi!

Je suis fort occupé pour le moment. Je regarde tout ça ce week-end.

A +!

Oli359
 Posté le 21/02/2016 à 18:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut Ferrand!

Un tout grand Merci pour ton intervention!!! C'est absolument parfait comme cela!

Juste pour info :

- (difficile à expliquer, mais je vais essayer quand même) comment fonctionne la formule "DECALER"? Je vois bien qu'elle remplace les termes "altprov" et "arr" dans certaines formules, mais comment excel "comprend" que "altprov" et "arr" font référence à certaines cellules? (en gros, où est-il écrit que altprov: =DECALER(Feuil1!$J$4;ENT((LIGNE()-5)/10)*10;) et arr: =DECALER(Feuil1!$E$6;ENT((LIGNE()-5)/10)*10;) ?

- peux-tu m'expliquer rapidement comment fonctionne la macro (je vois qu'il y a du copié collé, mais comment as-tu fait pour que le "numéro de station" suive une numérotation logique lorsque l'on crée de nouveaux tableaux)?

Voilà, et encore merci à toi!

A+!

Oli359
 Posté le 21/02/2016 à 18:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re-Salut Ferrand,

J'ai un petit souci avec la macro : si je modifie le nombre de lignes situées entre les prises de mesures avant et arrière (lignes 7 à 13, ou lignes 17 à 23), la macro ne fonctionne pas. Aurais-tu une solution pour remédier à cela?

Je te remercie par avance!!

(j'avais un peu peur que tu t'ennuies... )

Publicité
ferrand
 Posté le 27/02/2016 à 10:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Ce système fonctionne avec un tableau de taille fixe ainsi qu'annoncé au départ.

Il n'est pas possible d'avoir un système fiable si tu modifies manuellement le tableau après création. Il est d'ailleurs antinomique de vouloir générer un tableau prêt à l'emploi pour décider ensuite de l'utiliser autrement.

On peut choisir une autre taille de tableau et modifier les formules et la macro en conséquence.

altprov et arr sont des formules nommées, qui permettent de pointer la position dans le tableau précédent de la cellule concernée.

La macro est toute simple : elle récupère le dernier numéro de tableau, l'incrémente, calcule la position du nouveau tableau, copie le tableau 1 de référence, le colle à l'emplacement prévu pour reproduire du même coup les formules et la mise en forme, le numérote, efface les emplacements non pourvus de formules.

Cordialement.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Modification par ajout dans un tableau
macro afficher masquer lignes tableau dans word 2010
[Excel 2007] Macro : Sélection d'un tableau selon sa longueur variable
macro pour trier un tableau et effacer les lignes sans saisie
Macro Excel, ajout lignes et valeurs...
ajout automatique de lignes dans tableau excel2010
Macro oOo fin de tableau somme
Excel : Macro pour tableau croisé dynamique
Créer un tableau excel avec macro
Macro pour ajouter une ligne à la fin d'un tableau
Plus de sujets relatifs à ajout de tableau par macro
 > Tous les forums > Forum Bureautique