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

XL 2021 Problème avec une macro pour ajout d'une colonne

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 !

Patrick BRZ

XLDnaute Nouveau
Bonjour le forum

J'ai un calendrier qui me sert journellement à qui, j'ai ajouté une colonne.
Je n'arrive pas à inclure cette suite au reste du tableau.

Je joins un fichier vierge avec mes explications

Avec mes remerciements Patrick
 

Pièces jointes

Bonjour BOUREZ, François, le forum,

Ce fil m'intéressait mais je n'avais pas de temps jeudi et vendredi.

Voici une nouvelle mouture de la macro affectée aux zones de listes déroulantes :
VB:
Sub Change_date()
Dim F As Worksheet, deb As Range, ligOld&, ligNew&, i&, j%, c As Range, cc As Range
Set F = Sheets("Data")
Set deb = Sheets("Planning").[A3]
ligOld = Application.Match(CLng(memB3), F.Columns(1), 0)
memB3 = deb(1, 2) 'nouvelle valeur de la variable Public
ligNew = Application.Match(CLng(memB3), F.Columns(1), 0)
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
For i = 1 To 31
    For j = 1 To 10
        Set c = F.Cells(ligOld + i - 1, IIf(j < 3, 3 - j, j))
        Set cc = F.Cells(ligNew + i - 1, IIf(j < 3, 3 - j, j))
        If j <> 2 And j <> 9 Then 'il y a des formules dans ces 2 colonnes
            c = deb(i, j)
            deb(i, j) = cc
        End If
        '---commentaires---
        c.ClearComments
        If Not deb(i, j).Comment Is Nothing Then c.AddComment deb(i, j).Comment.Text
        deb(i, j).ClearComments
        If Not cc.Comment Is Nothing Then deb(i, j).AddComment cc.Comment.Text
Next j, i
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
Grâce aux Application.EnableEvents et surtout aux Application.Calculation elle s'exécute chez moi en 0,08 seconde.

On peut ajouter des commentaires dans la plage traitée y compris dans les colonnes B et I avec formules.

Au démarrage la variable Public memB3 est initialisée dans le ThisWorkbook :
VB:
Private Sub Workbook_Open()
memB3 = Sheets("Planning").[B3]
End Sub
Edit : j'ai ajouté ""& dans la formule en I3 =SIERREUR(""&RECHERCHEV(B3;Q$2:R$34;2;0);"")

A+
 

Pièces jointes

Dernière édition:
Bonjour BOUREZ, le forum,

Votre formule de la date de Pâques est simple mais donnera beaucoup de résultats faux.

En 2049 elle donne le 25/04/2049 alors que c'est le 18/04/2049.

A+
 
- 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
485
Deleted member 453598
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…