Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ajustement automatique tableau Excel 2000

freerideneo

XLDnaute Nouveau
Re à tous.

J'ouvre ce nouveau fil car ma question était noyée dans une précédente discussion et ca devient urgent.

Voilà j'ai concu un user form pour entrer des données que je colle dans une feuille excel, mon souci c'est que les données sont censées s'intégrer à un tableau. Il faudrait qu'une ligne s'ajoute automatiquement à ce tableau pour acceuillir les nouvelles données à chaque fois qu'un nouvel enregistrement arrive de l'user form.

J'y suis arrivé avec Excel 2007 mais là je tourne en 2000 et ca marche pas.

HELP HELP HELP
 

Pièces jointes

  • Ajustement automatique.zip
    16.4 KB · Affichages: 72
  • Ajustement automatique.zip
    16.4 KB · Affichages: 69
  • Ajustement automatique.zip
    16.4 KB · Affichages: 70
G

Guest

Guest
Re : Ajustement automatique tableau Excel 2000

bonjour freerideneo,

C'est urgent! Peut-être, mais ton précédent fil était très bien.
Nous sommes bénévoles, pas aux pièce et sans obligation de résultats.....

En tous cas voici:

change la définition de la prochaine ligne de la feuille par

Code:
ligne_suivante = Range("D" & Rows.Count).End(xlUp).Row + 1

Et le tour est joué.

PS: Reviens nous voir, en relisant peut-être la charte du forum
 

freerideneo

XLDnaute Nouveau
Re : Ajustement automatique tableau Excel 2000

Désolé je pensais bien faire en ouvrant un nouveau poste quant au terme "urgent" en objet de message, déformation pro c'est une mention que j'utilise régulièrement pour mise en évidence de certains messages. Je pensais que ca se faisait là aussi on m'y reprendra pas désolé. ET SURTOUT MERCI
 

freerideneo

XLDnaute Nouveau
Re : Ajustement automatique tableau Excel 2000

Encore désolé pour mon attitude puante en début de fil.

J'ai essayé ton code Hasco, merci il est plus simple que celui que j'avais à l'origine cependant au niveau de la feuille (liste_des_enregistrements) qui reçoit les données de l'userform, cela ne change rien.
Les données s'inscrivent dans une ligne à la suite du tableau mais celui-ci ne les intégrent pas dans son cadre.

Ce qui serait sympa ce serait de pouvoir garder l'alternance de lignes grises et blanche pour faciliter la lisibilité (pour un département il y a facile dans les 800 enregistrements)

A la limite je pourrais mettre une ligne de code qui vérifit le motif de la ligne précédente (gris ou blanc) et configure celui de la nouvelle ligne à l'opposée (un simple if then en soit)

Mais au delà de ça il y à une autre fonction SOMMEPROD que j'utilise dans une feuille appelée détection. Elle vient lire le tableau de la feuille liste_des_contraintes et compte le nombre d'enregistrement par commune et donne le résultat dans la feuille détection. Ca pour chaque commune et chaque type d'enregistrement (type de zone protégé).

elle se présente comme ça : (pour la cellule E2 de la feuille detection)

=SOMMEPROD((liste_des_enregistrements!$D$1:$D$7=$B2)*(liste_des_enregistrements!$E$1:$E$7=E$1))

Et le souci c'est que quand j'enregistre une nouvelle contrainte dans la feuille liste_des_contraintes la plage de comptage de la fonction SOMMEPROD n'est plus de la ligne 1 à 7 ($D$1:&D&7 et $E$1:$E$7) mais de 1 à 8

C'est pour ça que j'avais pensé faire un tableau qui s'ajuste automatiquement de sorte à profiter de l'alternance des couleurs et surtout trouver une combine pour nommer sa premiere et seconde colonne de sorte à avoir dans le code SOMMMEPROD non plus une plage du genre $D$1:&D&7 et $E$1:$E$7 mais plutôt

=SOMMEPROD((liste_des_enregistrements!"colonneville"=$B2)*(liste_des_enregistrements!"colonnetype"=E$1))

Je pourais selectionner l'ensemble de la colonne D et l'ensemble de la colonne E (D et E:E) mais ça fait buger l'ordi qui viens chercher dans toutes les lignes de la feuille.

Y à peut être d'autres solutions que SOMMEPROD ou d'autres combines mais là je suis bloqué.

A votre bon coeur et si j'ai une illumination je manquerais aps de l'indiquer si d'autres sont dans mon cas

Ci-joint un exemplaire allégé du fichier (excel2000) "ajustement automatique.xls" en construction.

et un exemple de tableau à ajustement automatique par excel2007: communications.xlsm (un simple ordre de tabulation avant le collage des données en fin de tableau suffit à lui faire créer une nouvelle ligne)
 

Pièces jointes

  • Ajustement automatique.zip
    34.1 KB · Affichages: 54
  • Ajustement automatique.zip
    34.1 KB · Affichages: 55
  • Ajustement automatique.zip
    34.1 KB · Affichages: 54
  • communications.zip
    24.2 KB · Affichages: 49

freerideneo

XLDnaute Nouveau
Re : Ajustement automatique tableau Excel 2000

Encore désolé pour mon attitude puante en début de fil.

J'ai essayé ton code Hasco, merci il est plus simple que celui que j'avais à l'origine cependant au niveau de la feuille (liste_des_enregistrements) qui reçoit les données de l'userform, cela ne change rien.
Les données s'inscrivent dans une ligne à la suite du tableau mais celui-ci ne les intégrent pas dans son cadre.

Ce qui serait sympa ce serait de pouvoir garder l'alternance de lignes grises et blanche pour faciliter la lisibilité (pour un département il y a facile dans les 800 enregistrements)

A la limite je pourrais mettre une ligne de code qui vérifit le motif de la ligne précédente (gris ou blanc) et configure celui de la nouvelle ligne à l'opposée (un simple if then en soit)

Mais au delà de ça il y à une autre fonction SOMMEPROD que j'utilise dans une feuille appelée détection. Elle vient lire le tableau de la feuille liste_des_contraintes et compte le nombre d'enregistrement par commune et donne le résultat dans la feuille détection. Ca pour chaque commune et chaque type d'enregistrement (type de zone protégé).

elle se présente comme ça : (pour la cellule E2 de la feuille detection)

=SOMMEPROD((liste_des_enregistrements!$D$1:$D$7=$B2)*(liste_des_enregistrements!$E$1:$E$7=E$1))

Et le souci c'est que quand j'enregistre une nouvelle contrainte dans la feuille liste_des_contraintes la plage de comptage de la fonction SOMMEPROD n'est plus de la ligne 1 à 7 ($D$1:&D&7 et $E$1:$E$7) mais de 1 à 8

C'est pour ça que j'avais pensé faire un tableau qui s'ajuste automatiquement de sorte à profiter de l'alternance des couleurs et surtout trouver une combine pour nommer sa premiere et seconde colonne de sorte à avoir dans le code SOMMMEPROD non plus une plage du genre $D$1:&D&7 et $E$1:$E$7 mais plutôt

=SOMMEPROD((liste_des_enregistrements!"colonneville"=$B2)*(liste_des_enregistrements!"colonnetype"=E$1))

Je pourais selectionner l'ensemble de la colonne D et l'ensemble de la colonne E (D et E:E) mais ça fait buger l'ordi qui viens chercher dans toutes les lignes de la feuille.

Y à peut être d'autres solutions que SOMMEPROD ou d'autres combines mais là je suis bloqué.

A votre bon coeur et si j'ai une illumination je manquerais aps de l'indiquer si d'autres sont dans mon cas

Ci-joint un exemplaire allégé du fichier (excel2000) "ajustement automatique.xls" en construction.

et un exemple de tableau à ajustement automatique par excel2007: communications.xlsm (un simple ordre de tabulation avant le collage des données en fin de tableau suffit à lui faire créer une nouvelle ligne)
 
G

Guest

Guest
Re : Ajustement automatique tableau Excel 2000

Re bonjour,

Encore désolé pour mon attitude puante en début de fil.

Il faut quand même pas exagéré, c'est pas si hhhhhhhhorrrible que ça!!!!!

A moi de te présenter des excuses pour le retard à te répondre mais j'avais une autre solution à trouver pour un autre forumeur.

voici donc ton fichier modifié. Avec quelques annotations

quant à l'autre fichier tu peux t'inspirer de celui-ci pour faire par toi-même les modifications. Si tu as des difficultés, reviens nous voir.

A bientôt
 

freerideneo

XLDnaute Nouveau
Re : Ajustement automatique tableau Excel 2000

HASCO, J'éviterais à l'avenir toute exageration en commencant par éviter d'être obséquieux dans ma reconnaissance envers toi et l'ensemble des participants de ce forum... vous êtes... doués, trés doués.

MERCI ça fonctionne impec
 

freerideneo

XLDnaute Nouveau
Alternative à SOMMEPROD pour accélerer le projet

Bonjour à tous,

Je relance le fil sur deux points concernant l'accélération du projet:

Le premier concerne la somme des enregistrements correspondants à deux critères (nom de commune et type d'enregistrement) pour placer le résultat en lieu et place sur la feuille dite "détection" du fichier.
HASCO me préconisait la fonction SOMMEPROD: très pertinente. Mais elle pose aujourd'hui problème car la feuille "liste_des_enregistrements" comporte désormais plus de 6000 lignes. Ce qui veux dire 6000 tests vrai/faux sur critère commune + 6000 tests vrai/faux sur critère zone + 6000 multiplication des deux opérations précédentes pour 11 zones et 2500 communes.... Au final un temps de calcul de 1 minute 30 avec un processeur dual core récent.

Je me suis creusé la tête et j'ai parcouru les forums pour trouver une alternative avec Nb.si. Sur la feuille détection, je prépare le cacul en mixant "&nom commune&" un espace "&nom zone&" pour chaque commune et chaque zone. Et je fais cette même préparation sur chaque enregistrement de la feuille liste des contraintes.
JE NE LAISSE PAS de fonction concaténer mais juste le texte mixé car cela évite de répeter à chaque fois l'opération concaténer.

Cela demande trois fois moins d'opération au logiciel et le temps de calcul tombe à 30 secondes!
Cette petite manip pourrait peut être aider d'autres personnes. Si certains d'entre vous voient d'autres points d'amélioration je suis toujours preneur.

----------------------------
Secundo et là j'ai pas trouvé de solution: la mise en forme des cellules prend beaucoup de temps de calcul à l'ouverture. Pas tant dans l'exemple que je vous transmet mais surtout lorsque tout les enregistrements sont présents.

Le fichier doit être le plus rapide possible surtout en lecture. Son object est d'informer et sensibiliser certaines personnes sur la présence de zones protégées. Comme l'environnement a déja tendance a les gaver il faudrait pas que ca traine.

Comment garder une mise en forme ergonomique sans trop altérer la vitesse d'execution?

D'avance merci pour vos suggestions!
Voici un lien vers le fichier
.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…