Macro, ajout de colonne en fonction de la semaine

Fermé
Tom - 28 sept. 2016 à 20:27
 DEDE - 2 oct. 2016 à 11:50
Bonjour,

Je voudrais ajouter un code à une Macro :
En A1 j'indique le numéro de semaine.
En a5 je copie une liste d article et supprime les doublons.
En b5 je rajoute le N° de semaine et en dessous la valeur trouvé pour chaque article.
je voudrais que à chaque fois que je lance la macro. Celle ci vérifié si le N° de semaine à été reporté si non qu'il decale en C5 dans l'exemple et qu'il inscrive les valeurs correspondantes à chaque article.

Merci d'avance pour votre aide.

A voir également:

11 réponses

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
2 oct. 2016 à 10:29
Voici un premier jet à tester.

https://www.cjoint.com/c/FJciCKgughN

A+
1
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
2 oct. 2016 à 10:55
Clic droit sur le lien proposé par Cjoint puis "Enregistrer la cible du lien sous ..."
Après enregistrement, tu peux lancer le fichier depuis ton dossier.

A+
1
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
28 sept. 2016 à 22:47
Bonjour,

Ta question n'est pas suffisamment claire pour écrire un code adéquat : il te faudrait reformuler différemment et clarifier ton objectif.
0
Je vais essayer d'être plus précis. .

Dans un classeur je souhaite que ma Macro vérifie si une feuille existe..
Si elle existe elle verifie que la colonne A est renseignée. Si elle est renseignée elle sélectionne la première cellule de la première colonne vide et va chercher la valeur dans la feuille appelé "x" la cellule C4 pour créer une en-tête de colonne. (N de semaine)
Puis va dans la sur la ligne 2 de cette même colonne pour incrementer une recherche v.
Cependant si l'en-tête de colonne correspond à la semaine actuelle, les informations de recherche-v. Sont mis à jour dans cette même colonne sinon incremente une nouvelle colonne.

J'ai un début de code ci joint, dans lequel une de mes conditions ne fonctionne pas..

J'espère avoir été plus clair.
http://www.cjoint.com/c/FIDqVcgGfAk
Merci d'avance pour votre retour.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
29 sept. 2016 à 20:36
Tom ou DEDE ?

ma Macro vérifie si une feuille existe.. Quelle feuille ?

Je ne sais pas lire un code sur une image.

Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.
Nicolas Boileau

Bonne continuation, et si quelqu'un a compris quelque chose qu'il n'hésites pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le code dans le lien ci joint, que j'essaye de composer pour :

vérifier si la feuille "Suivi statuts inventaire" existe,
si elle n’existe pas ajouter cette feuille,
si elle existe vérifier dans cette feuille si la colonne "suivi lignes inventaires " existe,
si elle n'existe pas aller dans la feuille "détail" copier la colonne B dans la colonne A de la feuille Suivi statuts inventaire.

Si elle existe, vérifier si la dernière entête de colonne correspond a la concaténation de "S" & la Cellule C4 de la feuille "Recap",

si elle correspond aller dans la deuxième ligne de cette dernière colonne et faire une recherche V.

Si elle ne correspond pas, aller dans la colonne vide suite et inscrire la concaténation de "S" & la cellule C4 de la feuille Récap.
aller dans la ligne 2 de cette même colonne et effectuer une recherche V. ainsi de suite pour les procahaines mises a jour, jusqu'a la semaine 52.
je souhaite également que si la cellule C4 ramène la semaine 1, la feuille soit supprimer pour repartir a zéro.

en espérant que vous puissiez m'aider a améliorer et corriger mon code.

http://www.cjoint.com/c/FJbq3oPeOIg
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
1 oct. 2016 à 19:40
Bonjour Tom ou DEDE,

Si tu souhaites obtenir de l’aide pour ton projet, il faut que tu fasses l’effort de donner les éléments utiles aux intervenants.

Quand gbinforme (que je salue) te dit qu’il ne sait pas lire un code sur une image, c’est pour t’indiquer qu’il faut que tu joignes un exemple de ton classeur (sans données confidentielles) afin qu’il puisse faire le lien entre les lignes de codes, la structure du classeur, celle des feuilles et les données.

De plus, cela permet d’effectuer des tests de fonctionnement avant de te proposer une solution.

A+
0
Bonjour,

merci pour votre retour,

je pensais que le code en question aurait suffit,
ci joint le xlsm en question

http://www.cjoint.com/c/FJbubmq6Fag

Merci d'avance pour vos conseils
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
2 oct. 2016 à 08:47
Bonjour,

Si je comprends bien, tu souhaites effectuer un report hebdomadaire du "Statut de l'inventaire" pour chaque ligne inventoriée.
Dans ce cas, il ne faut pas utiliser des formules pour renseigner la feuille "Suivi statuts semaines Ex" sinon, les valeurs ne seront pas figées.

De plus, si les lignes inventoriées peuvent évoluer entre la semaine 1 et 52, il faut prévoir une vérification et mise à jour systématique de ces lignes avant d'effectuer le report.

J'attends que tu donnes des précisions sur ces 2 points.

A+
0
Bonjour, ,
Oui effectivement il s'agit bien report hebdomadaire qui conserve les valeurs trouvées les semaines passées.

Je pensais en fin de code, demander à la macro de rechercher l'en-tête de la semaine en cours dans suivi statuts invetaire. sélectionner la colonne correspondante et la coller en texte..

Mais si tu as une autre solution. Je suis preneur.

Les lignes sont susceptibles d'évoluer, certaines disparaître, et d'autres d'être créer !
je ne sais pour le moment pas vraiment moment résoudre ce point.

Merci pour tes conseils.
0
Merci pour cette proposition rapide,
mais je n'arrive pas a ouvrir le fichier,
un message d'erreur apparait, format ou extension invalide ?
0
Cela me semble juste parfait, Merci beaucoup,

par contre je suis preneur de quelques explications sur le vocabulaire utilisé pour les variables ci dessous ?

Dim DerLigS As Long, DerLigC As Long
Dim n As Integer, Col As Integer
Dim Trouve As Boolean
Dim WsS As Worksheet, WsC As Worksheet
Dim C As Range

Merci d'avance.
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 524
2 oct. 2016 à 11:34
Je compose le nom des variables de manière à mémoriser facilement le lien avec l’objet qu’elles représentent.

Exemple :
WsS pour la feuille source (Worksheet Source),
WsC pour la feuille cible,
DerLigS pour dernière ligne source,
DerLigC pour dernière ligne cible,
etc..

Concernant le type de variable, il faut choisir celui qui est le mieux adapté.
Pour la feuille, c’est simple (WsS As Worksheet),
Pour une ligne, tu peux choisir le type Intéger si tu es certain que tes données ne dépasseront jamais la ligne 32 767.
Par défaut, on préfère le type Long qui permet d’aller jusqu’à 2 147 483 647, ce qui couvre largement jusqu’à la dernière ligne de la feuille (1 048 576 sur une version >= 2007).

Si tu souhaites approfondir le sujet, les tutoriels ne manquent pas.
Exemple : https://silkyroad.developpez.com/VBA/LesVariables/#LII-D

A+
0
DEDE > Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016
2 oct. 2016 à 11:50
Merci beaucoup,

je vais essayer de me pencher sur ces tutoriels..

A +
0