Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patrick7676

XLDnaute Occasionnel
bonjour
C'est vrai que je vous demande beaucoup de chose.Mais c'est que lorsque l'on est face à des experts il faut bien en profiter(lorsque l'on est nul)
je souhaiterais faire une insertion automatique d'une ligne lorsque je saisis une cellule de la colonne A de la feuille base
je vous joint un fichier

merci beaucoup pour votre aide
Patrick
 

Pièces jointes

Re : insertion de ligne

bonjour,

en B13 au lieu de marquer:=ENT(MOD(ENT((A13-2)/7)+0,6;52+5/28))+1

tu écris: =SI(A13="";"";ENT(MOD(ENT((A13-2)/7)+0,6;52+5/28))+1)

et tu tires vers le bas la fonction jusqu' où tu désires

ainsi, si tu ne remplies pas la cellule en COLONNE A, rien ne sera écrit en COLONNE B

CHANTAL
 
Re : insertion de ligne

FORMIDABLE je n'en dirais pas plus

mais comme je suis curieux
est ce possible à partir de la base de mettre sur une feuille les différents éléments d'une semaine sélectionée ?

je joint un fichier

merci encore pour votre dévouement
je vais passer ce weekend à comprendre l'exemple donné

Patrick
 

Pièces jointes

Re : insertion de ligne

tu es vraiment génial
pour les années Peut on faire un tri au départ par année puis après par moi ?

Avant tout je vais décortiquer ce que tu as fait ?
vraiment super Quand j'aurais fini le travail tu auras la primeur
A bientôt Patrick
 
Re : insertion de ligne

bonjour,

je pense qu'il faudrait que tu appelles ta 2eme colonne n° Semaine et Année
ou Année et n° de semaine du type 2006 39 OU 39 2006 ça c'est possible il faut simplement ajouter un code à la procédure

est ce ça que tu veux ou autre chose ?

CHANTAL
 
Re : insertion de ligne

bonsoir,

j'ai donc mis dans la seconde colonne la semaine et l'année, ce qui va déjà mieux pour faire une sélection (au moins on a pas 2 années ou plus avec la même semaine)

il y a encore moyen d'automatiser le truc, créer une feuille pour chaque semaine de ta feuille base, ça c'est possible et nommer cette feuille comme la semaine (exemple 06 50), et le nec serait qu'elle soient par ordre croissant !

CHANTAL
 

Pièces jointes

Re : insertion de ligne

rebonsoir,

j'ai un peu buché sur ton problème, je crée une feuille pour chaque semaine, cette feuille s'appelle "année semaine" en fin de procédure il y a un tri qui est fait.

jusque là c'est ok excepté qu'il y a 2 petits soucis:
le numéro de la semaine et de l'année est créé à partir de la date que tu nous renseigne en colonne A, de là nous avons le numéro de semaine, là c'est ok par contre l'année est donnée par l'année du jour de ton information,
je m'explique: par exemple le 01/01/2005 est sur la 52eme semaine de l'année précédente mais il affiche 06 52 au lieu de 05 52
(donc code à modifier dans la macro a)

second soucis, pour trier par ordre croissant les noms des feuilles, une feuille s'appelant 06 5 (année 06 et 5eme semaine) se place aprés la semaines 06 49 et avant la semaine 06 50

(donc pareil code à modifier dans la macro a)

malgrés tout , tu as de la chance, cela fait parti de la même partie de code...
il y a des personnes beaucoup plus expertes dans le domaine qui pourront t'aider, car là je crois que je suis trop juste pour modifier ces 2 "bug"

il ne reste plus qu'à paginer un peu les feuilles créées et le tour est joué

amicalement

chantal
 

Pièces jointes

Re : insertion de ligne

Bonjour,

second soucis, pour trier par ordre croissant les noms des feuilles, une feuille s'appelant 06 5 (année 06 et 5eme semaine) se place aprés la semaines 06 49 et avant la semaine 06 50

Je pense que ça c'est pas du VBA donc de mon niveau : en nommant la semaine 5 "05" sans les guillemets ça devrait le faire non ?

En fait il faudrait nommer toutes les semaines <10 avec 2 digits et ça devrait rouler tout seul je crois : 01, 02, 03, 04, 05.....

A vous lire


Sam
 
Re : insertion de ligne

bonsoir samantha

le problème est que la semaine est issue d'un code vba....

voici le début de procédure:

Sub a()
Sheets("base").Select
nbreligne = Range("a65500").End(xlUp).Row
Cells(nbreligne, 2).FormulaR1C1 = "=INT(MOD(INT((RC[-1]-2)/7)+0.6,52+5/28))+1"
Cells(nbreligne, 2).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Cells(nbreligne, 2).Value = Format(Cells(nbreligne, 1), "yy") & " " & Cells(nbreligne, 2).Value

etc etc

le numéro de semaine est calculée par =INT(MOD(INT((RC[-1]-2)/7)+0.6,52+5/28))+1
mais le résulat est donné sous forme 5 et non 05 pour la semaine 5

par contre, vu qu'une experte en fonction de calcul est là, comment à partir d'une date extraire le numéro de semaine et l'année (plutôt l'inverse, année et numéro de semaine) sans passer par une usine à gaz comme j'ai fait et ....qu'en plus ça ne fonctionne pas forcément pour la dernière semaine de l'année.

merci

chantal
 
Re : insertion de ligne

Bonsoir,

Si je dis macro complémentaire Utilitaire d'analyse (je crois en fait j'ai installé toutes les xla sauf celles où y'a marqé VBA 😉) et NO.SEMAINE(lacellule de référence;1 pour semaine commençant le dimanche ou 2 pour semaine commençant le lundi)

donc si en a1 est saisi 1/1/6
on met en B2 =ANNEE(A1)&" "&NO.SEMAINE(A1;2) et on obtient 2006 1 😀
Donc si on veut intégrer les 0 il faut demander un mode texte et donc plus de calculs possibles sur ces cellules 😱 mais là je cale. Tata Monique ! 😱

Sam
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
370
Retour