transposition de planning

  • Initiateur de la discussion Initiateur de la discussion isandre
  • Date de début Date de début

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 !

isandre

XLDnaute Nouveau
bonjour à tous,
voilà mon souci:
j'ai une liste de noms en colonne A;de la colonne B à la colonne AG, les jours du mois;
en face de chacun de ces noms, des cases notées N ou W (pour normal ou weekend), qui correspondent à des dates.
Je voudrai recopier ces données, sur une feuille externe ou sur la même feuille, en faisant deux colonnes avec un nom, une date.

En pièce jointe, un exemple qui sera certainement plus clair que mes explications.
J'ai peut être une idée avec deux boucles imbriquées, mais je suis preneur de toute solution plus "élégante"
merci de votre aide
 

Pièces jointes

Re : transposition de planning

bonjour skoobi,
et merci, c'est exactement ce que je cherchais, mais j'aime bien comprendre :
Pouvez vous m'expliquer la signification des lignes de commande, afin que je puisse adapter cette super macro à d'autres fichiers ?
Je ne compend pas comment est définie la cellule de destination des valeurs, ni comment est faite l'imbrication des boucles; bien sûr, si vous en trouvez le temps.
dans tous les cas, encore merci de votre coup de main
 
Re : transposition de planning

Re bonjour,

voici:

Code:
Sub test()
'désactive le rafraichissement de l'écran
Application.ScreenUpdating = False
'de la ligne 4 à la dernière ligne non vide en colonne A (ligne de la personne)
For lig = 4 To [A65536].End(xlUp).Row
'pour chaque cellule contenant du texte dans la plage colonne B à J en fonction de la ligne
    For Each cellule In Range("B" & lig & ":J" & lig).SpecialCells(xlCellTypeConstants, xlTextValues)
'identifie la prochaine ligne pour la destination des valeurs
        lig_suiv = [B65536].End(xlUp).Row + 1
        Range("B" & lig_suiv).Value = Range("A" & lig).Value 'écrit la personne
        Range("C" & lig_suiv).Value = Cells(3, cellule.Column).Value 'écrit la date
    Next
Next
Application.ScreenUpdating = True 'active le rafraichissement de l'écran
End Sub

Espérant avoir éclairé ta lanterne 🙂.
 
Re : transposition de planning

bonsoir skoobi, et les autres,
je viens de tester ta macro,et j'ai trouvé une faille :
lorsqu'un nom n'est suivi que de cellules vides, j'ai une erreur 1004...
et malgré toutes mes tentatives, je ne trouve pas la solution pour passer ce blocage.
tes explications m'ont bien permis de l'adapter plus exactement, mais là, je cale... au secours !🙂
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Souci de copie
Réponses
8
Affichages
77
Réponses
3
Affichages
73
Réponses
5
Affichages
346
Retour