Autres Gros besoin d'aide MACRO

JERIS

XLDnaute Nouveau
Bonjour à tous,
Je suis tout nouveau sur le forum, je me tourne vers vous car je m'arrache les cheveux (et il ne m'en reste plus beaucoup). Je cherche à construire une "suite" afin de créer des Non Conformités fournisseurs et d'en assurer l'archivage et je voudrais pouvoir les "print sous pdf" pour les envoyer par mail à mes fournisseurs, mais j'ai plusieurs soucis, outre le fait que je ne suis même pas ceinture blanche d'excel. J'ai coché Autres dans les préfixes car je ne sais même pas sur quelle version d'excel je suis. Sur le fichier joint, les 3 premiers onglets sont identiques à l'exception du 1er (Qui serait le masque de saisie).
Sur le 1er onglet en EFG j'ai un menu déroulant qui caractérise la non conformité Qualité ou Logistique d'où numérotation différente et automatique N/C-Q-0001-OCT ou N/C-L-0001-OCT.
Dès lors que j'ai une N/C QUALITE ou LOGISTIQUE, je voudrais qu'on aille directement rechercher la "zone" l.16 à 26 soit de l'onglet FICHENCQ soit de l'onglet FICHENCL (c'est la seule zone qui diffère entre les 2).
Une fois la saisie faite, je voudrais en cliquant sur un bouton archiver le document dans l'onglet ARCHIVAGENC, remettre à blanc toutes les zones avec "liste déroulante", et dans le même temps l'enregistrer en "print to pdf" dans un dossier sur le réseau de la société.
Evidemment il faudrait que le fichier ne soit pas modifiable, et en même temps utilisable par certaines personnes seulement.
Je ne vous cache pas que je pars avec un sérieux handicap, car en grenouillant sur le net et en applicant pas à pas un tuto pour faire l'incrémentation auto du n° de N/C, bah j'ai même pas réussi à le faire, en témoigne le fichier. (J'ai toujours pas compris, et depuis, j'ai fait 2 ou 3 modif mineures). Je suis au pied de mon Himalaya et j'ai besoin d'un Sherpa.
Dans l'attente de vos retours
 

Pièces jointes

  • FICHE DE NON CONFORMITE.xlsm
    99.6 KB · Affichages: 17
Solution
Salut,

Je n'ai pas détecté de problème, quand je change de type de NC en "E1:G1", les valeurs des formules en "C2:C7" se mettent à "#N/A", la liste en "H2:I2" se met à jour. Donc quand je sélectionne une valeur dans la liste à jour les formules en "C2:C7" se mettent à jour selon les valeurs de l'onglet "ARCHIVAGENC".

Pour la date, le plan, refacturation et autres, tu peux mettre les "mêmes" formules que pour les autres.

L'idée est que la saisie se fasse dans l'onglet "ARCHIVAGENC" et que l'onglet "FICHE_NCsaisie" ne servent qu'à la création de la fiche individuelle à partir de l'onglet "ARCHIVAGENC" pour pouvoir l'enregistrer via "print to pdf".

Nairolf

XLDnaute Accro
Salut,

Premièrement, ton fichier n'est pas anonymisé, je te conseille de le remplacer par une version sans données personnelles (nom de personnes, de sociétés, signature...).

Deuxièmement, à mon avis (qui n'engage que moi, comme dirait l'autre) tu fais l'"erreur" que beaucoup font, c'est à dire vouloir traduire un formulaire en table de données, alors qu'il est bien plus simple de fonctionner dans le sens inverse, c'est à dire remplir des données dans une table puis remplir un formulaire par des formules de recherche.

Excel n'étant pas un outil de base de données, il est plus simple de fonctionner ainsi (beaucoup moins de développement à réaliser et c'est plus facile à maintenir).

Malgré tout, il est possible de réaliser un formulaire qui renseigne une table via du code vba, la réponse est un peu plus complexe (tout dépend du besoin) et la mise à jour ne pourra être faite que par quelqu'un maîtrisant le code vba (chose à savoir aussi, c'est que de plus en plus d'entreprises bloquent l'usage des macros (vba) selon les paramètres de sécurité de leur réseau).

Après ces remarques, souhaites-tu toujours travailler dans ce sens formulaire => table de données ?
 

JERIS

XLDnaute Nouveau
Bah comment te dire, tu viens de toucher une zone sensible :eek: tables de données / formulaire et vis versa? En même temps je veux quelques chose de simple et efficace à tout point de vue (même pour les personnes amenées à remplir le document). Comment je dois m'y prendre pour travailler dans le sens tables de données => formulaire.
 

Nairolf

XLDnaute Accro
Déjà, comme tu sais faire des listes de validation, tu peux compléter l'onglet 'ARCHIVAGENC' avec des listes comme tu l'as fait dans l'onglet 'FICHE_NCsaisie', comme ça tu peux saisir toutes tes données que tu veux archiver dans le fichier.

Ensuite il faut modifier l'onglet 'FICHE_NCsaisie', avant, pour simplifier la mise en place des recherches et afin d'exploiter des formules similaires, tu peux commencer par créer des "noms" (selon les versions, cela peut être appelé "noms définis", accessible 'Formules'/'Gestionnaire de noms' dans les dernières versions d'Excel) auxquels tu affecteras des formules.
Tu pourras ensuite appeler ces noms dans des formules ou dans des listes de validation.

Voici les premiers noms :
- NCnum_Liste, avec la formule suivante :
Code:
=SI(FICHE_NCsaisie!$E$1="QUALITE";ARCHIVAGENC!$A$1:$A$1000;ARCHIVAGENC!$J$1:$J$1000)
- Rédac_Liste, avec la formule suivante :
Code:
=SI(FICHE_NCsaisie!$E$1="QUALITE";ARCHIVAGENC!$B$1:$B$1000;ARCHIVAGENC!$K$1:$K$1000)
Ensuite tu pourras créer les autres noms sur le même principe en adaptant les colonnes aux champs à traiter.

Tu peux utiliser le nom 'NCnum_Liste' dans une liste de validation de données appliquée à la formule "H1" de l'onglet 'FICHE_NCsaisie', pour cela il faut mettre la valeur :
Code:
=NCnum_Liste

Tu peux aussi mettre en "C2" de l'onglet 'FICHE_NCsaisie' la formule suivante :
Code:
=INDEX(Rédac_Liste;EQUIV($H$1;NCnum_Liste;0);1)

Il suffit ensuite de procéder de même pour l'ensemble des champs que tu souhaites rapatrier dans l'onglet 'FICHE_NCsaisie'.
 

cp4

XLDnaute Barbatruc
Bonjour @Nairolf ;), @JERIS :),

Je rejoins Nairof. Tu fais fausse route 3 feuilles pratiquement identiques, ensuite 2 tableaux pour archiver alors qu'il y a des codes explicites N/C-Q-0001-OCT ou N/C-L-0001-OCT, pouvant être discernés par les lettres Q ou L.
J'avoue ne pas avoir vraiment compris tes attentes.
Merci d'être plus explicite.

A+
 

JERIS

XLDnaute Nouveau
Bonjour @Nairolf ;), @JERIS :),

Je rejoins Nairof. Tu fais fausse route 3 feuilles pratiquement identiques, ensuite 2 tableaux pour archiver alors qu'il y a des codes explicites N/C-Q-0001-OCT ou N/C-L-0001-OCT, pouvant être discernés par les lettres Q ou L.
J'avoue ne pas avoir vraiment compris tes attentes.
Merci d'être plus explicite.

A+
Bonjour,
Moi qui pensais que mon 1er post était clair, je ne vois pas comment je peux être plus clair dans mes attentes..
Cordialement,
 

JERIS

XLDnaute Nouveau
Déjà, comme tu sais faire des listes de validation, tu peux compléter l'onglet 'ARCHIVAGENC' avec des listes comme tu l'as fait dans l'onglet 'FICHE_NCsaisie', comme ça tu peux saisir toutes tes données que tu veux archiver dans le fichier.

Ensuite il faut modifier l'onglet 'FICHE_NCsaisie', avant, pour simplifier la mise en place des recherches et afin d'exploiter des formules similaires, tu peux commencer par créer des "noms" (selon les versions, cela peut être appelé "noms définis", accessible 'Formules'/'Gestionnaire de noms' dans les dernières versions d'Excel) auxquels tu affecteras des formules.
Tu pourras ensuite appeler ces noms dans des formules ou dans des listes de validation.

Voici les premiers noms :
- NCnum_Liste, avec la formule suivante :
Code:
=SI(FICHE_NCsaisie!$E$1="QUALITE";ARCHIVAGENC!$A$1:$A$1000;ARCHIVAGENC!$J$1:$J$1000)
- Rédac_Liste, avec la formule suivante :
Code:
=SI(FICHE_NCsaisie!$E$1="QUALITE";ARCHIVAGENC!$B$1:$B$1000;ARCHIVAGENC!$K$1:$K$1000)
Ensuite tu pourras créer les autres noms sur le même principe en adaptant les colonnes aux champs à traiter.

Tu peux utiliser le nom 'NCnum_Liste' dans une liste de validation de données appliquée à la formule "H1" de l'onglet 'FICHE_NCsaisie', pour cela il faut mettre la valeur :
Code:
=NCnum_Liste

Tu peux aussi mettre en "C2" de l'onglet 'FICHE_NCsaisie' la formule suivante :
Code:
=INDEX(Rédac_Liste;EQUIV($H$1;NCnum_Liste;0);1)

Il suffit ensuite de procéder de même pour l'ensemble des champs que tu souhaites rapatrier dans l'onglet 'FICHE_NCsaisie'.
Bonjour Nairolf,
C'est sympa d'essayer de m'aider, mais avec ton post, je m'aperçois que j'ai déjà, atteint mes limites, j'ai bien trouvé les "noms définis" mais je ne vois pas ou les "mettre" dans le fichier...
 

JERIS

XLDnaute Nouveau
Déjà, comme tu sais faire des listes de validation, tu peux compléter l'onglet 'ARCHIVAGENC' avec des listes comme tu l'as fait dans l'onglet 'FICHE_NCsaisie', comme ça tu peux saisir toutes tes données que tu veux archiver dans le fichier.

Ensuite il faut modifier l'onglet 'FICHE_NCsaisie', avant, pour simplifier la mise en place des recherches et afin d'exploiter des formules similaires, tu peux commencer par créer des "noms" (selon les versions, cela peut être appelé "noms définis", accessible 'Formules'/'Gestionnaire de noms' dans les dernières versions d'Excel) auxquels tu affecteras des formules.
Tu pourras ensuite appeler ces noms dans des formules ou dans des listes de validation.

Voici les premiers noms :
- NCnum_Liste, avec la formule suivante :
Code:
=SI(FICHE_NCsaisie!$E$1="QUALITE";ARCHIVAGENC!$A$1:$A$1000;ARCHIVAGENC!$J$1:$J$1000)
- Rédac_Liste, avec la formule suivante :
Code:
=SI(FICHE_NCsaisie!$E$1="QUALITE";ARCHIVAGENC!$B$1:$B$1000;ARCHIVAGENC!$K$1:$K$1000)
Ensuite tu pourras créer les autres noms sur le même principe en adaptant les colonnes aux champs à traiter.

Tu peux utiliser le nom 'NCnum_Liste' dans une liste de validation de données appliquée à la formule "H1" de l'onglet 'FICHE_NCsaisie', pour cela il faut mettre la valeur :
Code:
=NCnum_Liste

Tu peux aussi mettre en "C2" de l'onglet 'FICHE_NCsaisie' la formule suivante :
Code:
=INDEX(Rédac_Liste;EQUIV($H$1;NCnum_Liste;0);1)

Il suffit ensuite de procéder de même pour l'ensemble des champs que tu souhaites rapatrier dans l'onglet 'FICHE_NCsaisie'.
Nairolf,
Ci-joint le fichier repris avec tes indications, mais les résultats me laissent circonspects. Cela semble correct seulement pour un type de N/C. (J'ai l'impression qu'il y a une coquille dans la formule, une seule condition au lieu de 2). En ce qui concerne plan et Refacturation, je n'ai pas de liste, dans la mesure ou cela sera calculé à chaque nouvelle N/C.
Cordialement,
 

Pièces jointes

  • FICHE DE NON CONFORMITE_Nairolf.xlsm
    84.7 KB · Affichages: 8

Nairolf

XLDnaute Accro
Salut,

Je n'ai pas détecté de problème, quand je change de type de NC en "E1:G1", les valeurs des formules en "C2:C7" se mettent à "#N/A", la liste en "H2:I2" se met à jour. Donc quand je sélectionne une valeur dans la liste à jour les formules en "C2:C7" se mettent à jour selon les valeurs de l'onglet "ARCHIVAGENC".

Pour la date, le plan, refacturation et autres, tu peux mettre les "mêmes" formules que pour les autres.

L'idée est que la saisie se fasse dans l'onglet "ARCHIVAGENC" et que l'onglet "FICHE_NCsaisie" ne servent qu'à la création de la fiche individuelle à partir de l'onglet "ARCHIVAGENC" pour pouvoir l'enregistrer via "print to pdf".
 

Statistiques des forums

Discussions
313 259
Messages
2 096 616
Membres
106 687
dernier inscrit
jessicabornet