« Quand tu auras le temps , toujours aucune urgence , si tu pourras jeter un œil à ma macro " SAISIE NCF " , c’ est la plus lourde de toutes je pense »
Où est-elle je ne la vois pas dans la liste :
« Quand tu auras le temps , toujours aucune urgence , si tu pourras jeter un œil à ma macro " SAISIE NCF " , c’ est la plus lourde de toutes je pense »
Où est-elle je ne la vois pas dans la liste :
La voici désolé , tu as mon fichier complet
Non-Conformité - Copie.xlsm (421,9 Ko)
Oui , je vais le rajouter , bonne remarque , comme c’est une suppression de lignes , ça serai dommageable contrairement à d’autre fonction ( copier/coller … )
Merci pour la remarque
Par contre , petite question ?
Pourquoi faire rèférence 2 fois à la feuille ?
Moi j’ai mis ça
Ca fonctionne donc quelle et la différence ?
Il serait bien pour m’alléger la tâche que tu me décrives son fonctionnement :
données source utilisées
Cible attendues avec conditions
Les cas particuliers si il y en a
Je pourrais trouver tout ce schéma en décortiquant le code ligne par ligne mais il est plus difficile de deviner la recette d’un traitement pour un néophyte du fonctionnement recherché que d’en établir tout le déroulement pour un utilisateur averti baignant au quotidien dans l’univers concerné
De plus compte tenu de la qualité de cette procédure relativement lourde comment savoir si des instructions ne sont pas superflues sans connaitre l’objectif à atteindre
Si donc tu pouvais m’apporter ce petit plus ce sera appréciable
Attention toute définition de cellules (instruction Range) si elle n’est pas précédée de l’onglet à utiliser sera considérée en rapport avec l’onglet actif
Donc chaque instruction Range doit avoir son onglet défini qui le précède sinon Excel d’autorité l’attribut à l’onglet actif à l’écran
Range("H13").End(xlDown).End(xlToRight)
Sans onglet attribué Excel dans cet instruction cherchera à partir de la cellule H13 la dernière cellule vers le bas de la colonne H de l’onglet actif puis la dernière cellule vers la droite de la ligne de cette dernière cellule
Fais l’essais à la main sur plusieurs onglets tu verras que tu n’auras pas le même résultat quant à la cellule obtenu
Je viens de lancer la macro actualisation en me mettant dans un autre onglet , il m’affiche une erreur 1004
J’avais quand meme dupliquer mon classeur avant, dans le doute , bref je vais le rajouter quand même
Attention tu as supprimé un Sheets(« STOCK NCF ») dans la parenthèse qui doit être l’origine de ce dysfonctionnement celui-ci est indispensable si le traitement n’est pas exécuté à partir de l’onglet « STOCK NCF »
Je maintiens qu’il faut cette ligne de code pour éviter des ennuis de ce type ou autre :
Sheets("STOCK NCF").Range("H13", Sheets("STOCK NCF").Range("H13").End(xlDown).End(xlToRight)).EntireRow.Delete Shift:=xlUp
Après l’avoir remise en l’état à l’identique réessaies le traitement dans un autre onglet voir si le blocage persiste
Fais moi un retour
Alors
Il faut déja tirer le numéro de la Non Conformité dans l’onglet BASE NC ( pour passer de NCF-2024-0 à NCF-2024-1 dans la ligne vide suivante
Puis Coller
Les différents champs de « SAISIE NCF » vers les colonnes correspondantes ( (Même titre d’entête ) de « BASE NC »
Copier également les valeurs (soit à partir de SAISIE NCF ou de BASE NC ) vers FICHE DE NC
Exporter l’onglet FICHE DE NC au format PDF dans la même destination que l’emplacement du fichier excel et avec comme nom , le numéro de la Non conformité NCF-2024-…
Effacer les champs FICHE DE NC et de SAISIE NCF ( SAUF le champs date dans SAISIE NCF car c’est la date (AUJOURD’HUI))
Enregistrer le Fichier
J’espère t’avoir donné suffisamment d’informations , sinon n’hésites pas à revenir vers moi pour d’autres questions
Merci encore FFO
Aprés avoir modifié , il me remet l’erreur 1004 mais plus loin dans le code , lorsque que je lance la macro en étant sur un autre onglet
J’avais déjà constaté ce blocage et rajouté juste avant cette ligne de code :
Sheets(« STOCK NCF »).Activate
et j’ai modifié le commentaire les concernant comme ceci :
'activation de l’onglet STOCK NCF et de sa cellule H12
Essaies et dis moi
C’est parfait j’ai bien compris
Je te proposerai demain un traitement de ma propre conception pour obtenir ces résultats
On le comparera en terme de nombre de lignes d’instruction avec celui actuel
En attendant bonne soirée
Bonjour
Ci-joint ton fichier avec un traitement "SAISIE_NCF " de ma conception
50 lignes de code le composent contre 172 lignes pour ta version
Je l’ai testé sans vérifier les résultats obtenus simplement d’en apprécier son bon fonctionnement (aucun blocage) et émission du fichier pdf dans son répertoire
Je te laisse le soin d’apprécier la qualité des résultats que l’on obtient par son traitement
Fais moi un retour
Non-Conformité - Copie2.xlsm (417,9 Ko)
@FFO, je suppose que c’était la macro « Sub ACTUALISATION_STOCK() »,
il y a encore des choses qu’on peut simplifier
Bonjour Cow
Et non c’est la macro "SAISIE_NCF " pas « ACTUALISATION_STOCK »
je l’ai vite vérifié, cet après-midi peut-être mieux, mais comme vous faites une dizaine de fois la même chose, vous pouvez utiliser une fonction personnalisée.
Non-Conformité - Copie2.xlsm (423,7 Ko)
Bonjour FFO
Effectivement c’est une réduction significative de lignes de code
Je n’ai pas pris le temps pour l’instant d’analyser le code car j’avais du bricolage à faire ce matin
Néanmoins j’ai tester ton Fichier excel et je détecte 3 erreurs
1ère : Il ne me met pas le numéro de la non conformité comme titre du PDF mais un YYYYYY… dont je ne sais pas d’où il viens
Au lieu de ça
2éme
il me met la date de la Non conformité ( aujourd’hui ) dans la mauvaise colonne , date de la réponse fournisseur ( colonne K au lieu de date de la non conformité colonne J )
Et 3ème , là c’est peut etre moi qui me suis mal exprimer le pdf sorti doit etre celui de " FICHE DE NC " genre comme ça
Et là le PDF me sort ça
Mes explications étaient surement approximatives mais sinon le reste à l’air de fonctionner nickel
ceci est un update pour FFO
Non-Conformité - Copie2.xlsm (428,9 Ko)
Bonjour Cow18
J’ai vu que ton code est différent de celui de FFO , l’approche n’est pas la même , mais me génère les mêmes problèmes qu’avec le code de FFO , voir mon message prècédent.
PS: je suis novice , trés loin de votre niveau à tout les 2
@Tom59300Tom, j’ai juste pris la macro de FFO, si elle ne fonctionne pas, la même aura les mêmes défauts. Ceci est réaction 80 dans cette question, je n’ai pas suivi dès le début, donc je ne sais pas à quoi la macro sert, je préfère que FFO continue, mais je lui ai donné quelque avis.