VBA : Créer un classeur, lancer une macro dessus, copier les résultats & le supprimer

mynameisjeff

XLDnaute Nouveau
Bonjour à tous,

Dans le cadre d'un projet professionnel, et suite à un manque d'espace disponible,
j'aimerais créer une macro qui :
1. crée un nouveau classeur "Classeur Test" acceptant les macros et avec 2 onglets "UVCI " et "SUPPORT"
2. copier la page "UVCI " de mon classeur source sur les deux onglets du classeur créé "UVCI " et "SUPPORT"
3. lancer ma macro
4. copier les données "A3:N" & finalrow de mon classeur créé sur la page "UVCI " vers mon classeur source depuis A3
finalrow = Cells(Rows.Count, "C").End(xlUp).Row
5. supprimer le classeur créé
(l'idéal étant que vu qu'il s'agisse d'un classeur temporaire, que celui-ci ne soit pas sauvegardé (à aucun moment) afin d'éviter par la suite une recherche du fichier pour le supprimer)

Je remercie d'avance toute personne pouvant m'aider.
Très cordialement
 

mynameisjeff

XLDnaute Nouveau
Re : VBA : Créer un classeur, lancer une macro dessus, copier les résultats & le supp

Bonjour Paritec, le forum

J'ai trouvé un moyen d'éviter le message d'erreur :
Avant la ligne en rouge de mon précédent message, il suffit de compléter par un On Error Resume Next mais le problème c'est que les résultats dans ma colonne M sont faussés du coup.

Pourquoi je procède ainsi et pourquoi il y a erreur ?
En fait, dans ma base, il y a des lignes manquantes en label
exemple :
1.00
4.00
5.00
...
donc il me manquerait les lignes 1.20 ; 2.00 ; 2.20 ; 3.00 ; 3.20

Ma macro va se charger d'ajouter ces lignes là.
J'aimerais ajouter cette condition à ma formule :

Si bb(i, 2) = aa(i, 2) et bb(i, 3) = aa(i, 3) et si bb(i, 1) n'existe pas dans aa(i, 1) ALORS
bb(i,13) sera égale à bb(i-1, 13) et si erreur encore bb(i-2, 13)... bb sera égal à la valeur inférieure la plus proche existante de la colonne 1 (mais tout en ayant les colonnes 2 et 3 égales!)

J'ai vraiment besoin d'aide pour m'aider à finaliser ce projet.
Très cordialement
 

Paritec

XLDnaute Barbatruc
Re : VBA : Créer un classeur, lancer une macro dessus, copier les résultats & le supp

Re Bonjour mynameisjeff le forum
J'ai vraiment besoin d'aide pour m'aider à finaliser ce projet.
depuis ce matin je te demande quoi faire et tu me donnes des mauvais éléments !!!!
que veux tu que j'y fasse??
maintenant c'est la colonne M,, tu as prévu de changer quand? ( que je ne refasse pas pour rien)
a+
Papou:)
 

mynameisjeff

XLDnaute Nouveau
Re : VBA : Créer un classeur, lancer une macro dessus, copier les résultats & le supp

Re Paritec,

Oui, merci pour ton aide, elle m'est très utile.
J'ai modifié ta macro comme je le pensais pour faire en sorte que ce soit bien la colonne M qui soit sauvegardée et coller.

Mais Paritec, tu vois, dans mon fichier, il y a des lignes où il manque des labels.
Par exemple, si tu as une ligne avec 2 labels ou plus qui manquent (mais avec un label 1.00 présent au départ) alors tu reçois un message d'erreur car il y a un problème de référence (qui est plutôt normal vu que des lignes ont été ajoutées).

Pour contre cette erreur, je souhaiterais que pour ma ligne éronnée donc pour ma ligne où j'ai une valeur existante en colonne 2 et 3 mais où la valeur de la colonne 1 est en conflit.
Je souhaiterais que cette ligne prenne la valeur inférieure la plus proche existante de la colonne 1.
Et vu qu'il y aura eu ajout de ligne, je pense qu'il faut décaler les valeurs de la colonne M d'une ligne dès ajout d'une ligne (enfin il me semble)

Si tu veux faire le test avec le fichier que tu as renvoyé.
Supprime sur le produit 1, les lignes 4 et 5 et 6.
Tu verras tu obtiendras un message d'erreur.

Juste pour te montrer le problème, regarde ci-dessous :
Mettons pour le moment que la valeur de la colonne M est égale à la valeur du label (juste pour illustrer, ce ne sera pas à faire)
Si tu as label 1, alors valeur colonne M = 1 et ainsi de suite.

Si tu supprimes les lignes d'un produit contenant 3 label de suite par exemple (mais pas le label 1.00) alors tu as le message d'erreur et les données sont erronés (j'avais rajouté un On error Resume Next) mais alors là ça me fausse le tout.

J'espère que j'ai été clair dans mes explications.
Merci encore

Cordialement
 

Paritec

XLDnaute Barbatruc
Re : VBA : Créer un classeur, lancer une macro dessus, copier les résultats & le supp

Re Bonjour Mynameisjeff le forum

si tu as une ligne avec 2 labels ou plus qui manquent (mais avec un label 1.00 présent au départ) alors tu reçois un message d'erreur car il y a un problème de référence (qui est plutôt normal vu que des lignes ont été ajoutées).
Si tu commençais par t'exprimer clairement, on pourrait certainement avoir une chance d'avancer!!!
Tu écris une ligne avec 2 labels alors que dans une ligne, il ne peut y avoir qu'un seul label en colonne A!!
T'aider je le fais depuis ce matin mais, on arrivera à rien sans le fichier et les foutues valeur que tu souhaites recopier
Si j'avais le vrai fichier il y a longtemps que ce serait réglé.
En plus tu parles de rapatrier la valeur de la colonne M alors que la colonne M est une concaténation de 3 cellules!!!
en bref tu sais peut-être ce que tu veux mais tu ne l'expliques pas clairement.
Il ne faut pas oublier que toi tu connais ton fichier, et ce que tu en attends, mais pas moi
a+
Papou:)
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : VBA : Créer un classeur, lancer une macro dessus, copier les résultats & le supp

Re Mynameisjeff le forum
oui il y avait un message de défaut car j'ai fait une erreur dans mon code en définissant le tableau, et en plus j'avais mélanger deux variables !!!
bref voilà le fichier avec le retour de la colonne K dans le fichier généré si la valeur existait en k avant le lancement de la macro.
Car tu n'as toujours pas répondu pour la colonne M !!!!!!! en son contenu qui est une concaténation des trois premières cellules de la ligne, donc à mon sens sans aucun intérêt.
a+
Papou:)
 

Pièces jointes

  • Mynameisjeff V4.xlsm
    102.9 KB · Affichages: 31

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 395
Membres
102 882
dernier inscrit
Sultan94