Créer une feuille automatiquement

Bonjour,

Mon test, et le seul et unique, je n'aime pas travailler avec ce genre de fichier qui ressemble à une usine à gaz, désolé ... :

Option Explicit
Option Base 1

Sub COMPTA()
Dim C As Byte, L%, MOIS(), WS As Worksheet, MOIS_COL%, LR%
Set WS = ActiveSheet 'Avec la feuille active
For C = 26 To 37 'Pour les colonne 26 à 37
    ReDim MOIS(4, 1) 'On redimensionne l'array MOIS
    For L = 368 To 440 'Pour les lignes 368 à 440
        If WS.Cells(L, C) <> "" Then 'Si la cellule aux valeurs prises par L et C n'est pas vide
            MOIS(1, UBound(MOIS, 2)) = WS.Range("C351") 'On place la valeur en C351 dans la première ligne de l'array MOIS
            MOIS(2, UBound(MOIS, 2)) = WS.Cells(L, 3) & " " & WS.Cells(L, 2) 'On place les valeurs en LLC3 et LLC2 dans la seconde ligne
            MOIS(3, UBound(MOIS, 2)) = WS.Cells(L, 4) 'Valeur LLC4 dans la 3eme
            MOIS(4, UBound(MOIS, 2)) = WS.Cells(L, 5) 'Valeur LLC5 dans la 4ème
            ReDim Preserve MOIS(4, UBound(MOIS, 2) + 1) 'On ajoute une colonne au tableau MOIS pour accueillir la prochaine valeur
        End If
    Next L 'On passe à la ligne suivante
    If UBound(MOIS, 2) - 1 > 0 Then 'Si l'array MOIS n'est pas vide
        With Worksheets("COGS") 'Avec la feuille COGS
            MOIS_COL = .Rows(3).Find(WS.Cells(364, C), LookIn:=xlValues).Column 'On trouve la colonne correspondant au MOIS chargé dans l'array
            LR = .Cells(.Rows.Count, MOIS_COL).End(xlUp).Row + 1 'On trouve la dernière ligne remplie de ce mois
            .Cells(LR, MOIS_COL).Offset(, -2).Resize(UBound(MOIS, 2) - 1, 4) = Application.Transpose(MOIS) 'On y transpose l'array MOIS
        End With
    End If
Next C 'On passe à la colonne suivante de la feuille active
End Sub

A noter que j'ai du adapter les formats de dates de vos feuilles CGOS, feuilles clients et la matrice de base.

Pour pouvoir joindre le fichier et ne pas mettre le forum en PLS je n'ai laissé que les feuilles d'intérêt. La macro est liée à l'image de chaque feuille client en E7.

Bon courage.

Cdlt,

C'est franchement génial. Merci beaucoup.

Le gain de temps va être considérable, et il y aura moins d'erreur.

Vraiment, merci.

Cordialement,

Olivier

P.S. c'est une usine à gaz, je sais ...

Bonjour Ergotamine,

Lorsque je copie un onglet, le logiciel affiche un message (ci-joint).

J'ai répondu "oui".

Est-ce un problème ?

capture d e cran 2021 07 23 a 15 48 49

Vous remerciant,

Bien cordialement,

Olivier

Bonjour,

Vous tentez d'ajouter une feuille dont le nom existe déjà. Oui en créé une copie avec un nom différent (souvent un indiçage (1), (2)), non annule l'action.

Cdlt,

Edit : Merci de préciser que vous êtes sous MAC dans votre profil, les codes peuvent différer en fonction de votre système d'exploitation.

Rechercher des sujets similaires à "creer feuille automatiquement"