Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 insérer automatiquement une colonne après chaque semaine

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 !

aceathena

XLDnaute Nouveau
Bonjour,
Je souhaiterais créer un planning mensuel automatique. En saisissants le premier jour du mois toutes les autres dates s'affiche quelque soit le mois.
Jusque la pas de soucis
Mais je souhaiterais que les jours qui s'affichent soit du lundi au samedi et qu'a la place du dimanche, s’insère automatiquement une cellule commentaire.
La je suis perdue.
Pouvez-vous m'aider?
 

Pièces jointes

super merci pour la proposition.
J'ai juste un souci concernant les dates car elles ne correspondent pas.
La formule fonctionne pour la première semaine du mois mais arriver au premier dimanche (ou cellule vide), les dates ne suivent pas
 
Bonsoir aceathena, vgendron, JHA, Hasco,

Voyez le fichier joint et cette macro dans le code de la feuille :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With [A7]
    If Intersect(Target, .Offset(1)) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False 'désactive les évènements
    .Offset(1).Select
    If Not IsDate(.Offset(1)) Then .EntireRow.Resize(2).ClearContents: GoTo 1
    .Offset(1) = DateSerial(Year(.Offset(1)), Month(.Offset(1)), 1) '1er jour du mois
    .Offset(1, 1).Resize(, 30) = "=IFERROR(IF(MONTH(RC[-1]+1)=MONTH(RC[-1]),RC[-1]+1,""""),"""")"
    .Resize(, 31) = "=IFERROR(IF(WEEKDAY(R[1]C)=1,""#N/A"",TEXT(R[1]C,""jjjj"")),"""")" 'jjjj pour version française
    .Resize(2, 31) = .Resize(2, 31).Value 'supprime les formules
    .Resize(, 31).SpecialCells(xlCellTypeConstants, 16).Offset(1) = ""
    .Resize(, 31).Replace "#N/A", "Commentaire"
    .Resize(2, 31).Columns.AutoFit 'ajuste les largeurs
1   Application.EnableEvents = True 'réactive les évènements
End With
With UsedRange: End With 'actualise la barre de défilement horizontale
End Sub
Modifiez ou validez la cellule A8.

Edit : ajouté l'avant-dernière ligne.

A+
 

Pièces jointes

Dernière édition:
Bonjour à tous,

Bonjour @job75 à qui je souhaite un bon rétablissement.

Tu as tout à fait raison mais ma nullité en VBA ne me permet pas de réaliser cet excellent code que tu as proposé 😭 .

Pour ma part, je fais donc un copier/collage spécial/valeur sur une autre feuille et je masque la feuille avec les formules 🙁.

JHA
 
Bonjour le fil, le forum,

Avec le fichier précédent, si l'on entre 01/05/2022 en A8, A7 contient "Commentaire" car c'est un dimanche.

Mais on ne peut plus rien entrer ensuite en A8.

Pour y remédier utilisez ce fichier (2) avec :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
With [A7]
    If Intersect(Target, .Offset(1)) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Application.EnableEvents = False ' and not isdate(.offse les évènements
    .Offset(1).Select
    If Not IsDate(.Offset(1)) Then
        If .Value <> "Commentaire" Then .EntireRow.Resize(2).ClearContents
        GoTo 1
    End If
    .Offset(1) = DateSerial(Year(.Offset(1)), Month(.Offset(1)), 1) '1er jour du mois
    .Offset(1, 1).Resize(, 30) = "=IFERROR(IF(MONTH(RC[-1]+1)=MONTH(RC[-1]),RC[-1]+1,""""),"""")"
    .Resize(, 31) = "=IFERROR(IF(WEEKDAY(R[1]C)=1,""#N/A"",TEXT(R[1]C,""jjjj"")),"""")" 'jjjj pour version française
    .Resize(2, 31) = .Resize(2, 31).Value 'supprime les formules
    .Resize(, 31).SpecialCells(xlCellTypeConstants, 16).Offset(1) = ""
    .Resize(, 31).Replace "#N/A", "Commentaire"
    .Resize(2, 31).Columns.AutoFit 'ajuste les largeurs
1   Application.EnableEvents = True 'réactive les évènements
End With
With UsedRange: End With 'actualise la barre de défilement horizontale
End Sub
A+
 

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

Réponses
24
Affichages
2 K
Réponses
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…