Fonction doublons VBA

ted1057

XLDnaute Occasionnel
Bonjour la communauté,

Je travaille actuellement sur un dossier de calcul de grilles sous Excel avec des informations issues d'un formulaire Internet.
Les données sont sous la forme d'un tableau dans le fichier Excel joint dans la feuille "données d'entrées". Dans cette liste, il peut y avoir des "doublons" et des "lignes simples". Les doublons peuvent être liées à des longueurs et largeurs différentes de grilles. Les valeurs du client, référence chantier, finition et type de grilles peuvent être identiques. J'effectue ma recherche de doublons sur ces derniers paramètres.

Mon souhait est d'établir, pour chaque ligne simple et pour chaque doublons un formulaire qui sera imprimé en PDF.
A ce stade de mon projet, j'arrive à identifier les doublons via une macro trouvée et modifiée.

Mes soucis viennent dans le fait que je n'arrive pas :
- A utiliser mes doublons et ligne simple pour en faire un formulaire PDF pour chaque "doublons" et les "lignes simples".
- A mette les lignes sur la première cellule vide de la colonne A de la feuille "Formulaire".

En pièce jointe un fichier exemple.

J'espère avoir été clair dans mes demande.
 

Pièces jointes

  • Fichier calcul - test - int.xlsm
    28.2 KB · Affichages: 29

Dranreb

XLDnaute Barbatruc
Bonsoir.
Il faudrait tout faire avec des tableaux VBA comme ça on ne se pose pas de question pour trouver la cellule vide: on ajoute 1 à un numéro de ligne, on y remplit les postes du tableau, et on le décharge en une fois à la fin.
Possible que ma fonction Gigogne pourrait faciliter les choses.
Essayez de préparer une description du traitement style Pour chaque client dans l'ensemble des clients, à l'intérieur pour chaque truc dans un ensemble de trucs attachés à ce client etc. Je n'ai pas trop compris ce que vous vouliez mais ma fonction Gigogne serait susceptible de préparer une collection contenant des collections comme il vous les faudrait pour pouvoir l'écrire assez simplement.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir ted1057, Dranreb ;),

Je ne sais pas si j'ai bien compris la demande.

L'essai dans le fichier joint complète un formulaire, en affiche un aperçu, puis passe au formulaire suivant.
Le code est un peu commenté et se trouve dans le module 'mapomme'.

edit : si le principe est le bon, il faudra remplacer l'aperçu par un enregistrement du fichier en .PDF.
 

Pièces jointes

  • ted1057- Fichier calcul doublons- v1.xlsm
    36.6 KB · Affichages: 45
Dernière édition:

ted1057

XLDnaute Occasionnel
Merci de ta réponse

Concernant mon fichier, voilà ce que je veux qu'il puisse faire.
En partant des informations de la feuille de données d'entrée,
- recherche des doublons qui m'indique qu'un client commande plusieurs grilles avec des tailles différentes pour la même référence affaire.
- identification des commandes clients qu'avec une seule grille

- Pour chaque ligne seule création d'un formulaire a enregistrer en PDF.
- pour chaque ligne doublon faire un formulaire avec prise en charge de toutes les lignes doublons à enregistrer en PDF.

Un formulaire correspond à la reprise des informations client, référence affaire, finition et éléments de la grille. Cellule de couleurs marron. Les autres cellules seront quant à elles calculées ultérieurement.

Copiage des informations de la feuille principale vers la feuille formulaire sur les colonnes marrons

Je ne sais pas si j'ai été plus clair
 

ted1057

XLDnaute Occasionnel
Bonjour Mapomme,

Désolé j'écrivais à Dranreb. Mon message a été écrit avec mon téléphone et il a mis du temps à s'inscrire sur le fil de la discussion.
Je te remercie pour ton message j'ai regardé ton fichier et cela correspond tout à fait à mon attente. Merci également d'avoir mis des notes cela me sert à bien comprendre le code et ainsi pouvoir le réutiliser à l'occasion.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Je ne comprends toujours pas clairement s'il faut faire quelque chose de différent pour chaque client selon qu'il y a plusieurs lignes pour lui ou une seule. Quoi qu'il en soit pour trouver le nombre de sous ensembles d'un membre Client d'une collection renvoyée par Gigogne il suffit de prendre Client.Count
(Gigogne se charge tout seul de mettre ensemble tout ce qui concerne un même client si on spécifie la colonne client comme critère)
À l'intérieur de la boucle pour chaque Client vous pourrez faire une boucle pour chaque Affaire de ce client, bien sûr, laquelle pourra à son tour contenir d'autre boucles.

Mais je vois seulement que MaPomme a fait un classeur qui répond à vos attentes. Alors je ne sais pas si ça vous intéresserait encore que je l'ouvre et l'équipe d'une solution qui explorerait une collection fabriquée par ma fonction Gigogne…
Je l'ai ouvert par curiosité, et je vois que ça aurait très bien pu se faire. Je ne comprends d'ailleurs pas comment il a fait pour passer de
client, référence chantier, finition et type de grilles
à : Client, Référence Affaire, Finition et Modèle,
comment il a fait le rapprochement entre Chantier et Affaire et entre Type de grille et Modèle.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16