Problème avec code

Bonjour,
étant nul en VBA, il y a quelques temps (meme années) quelqu'un m'avait fait une macro.
Me servant de ce fichier tous les jours, j'ai fini par le modifié pour plus de simplicité (de copier/coller un mois sur l'autre, et de vide)
Mais seulement, petit hic, la macro fonctionne mais ne reprend plus toutes les données.
Si quelqu'un pouvait m'aider car je suis largué.

Je vous joins le fichier
onglet qui bug est 07 (car j'ai fini par le modifié)
les references qui peuvent vous etre utiles sont les mois précedent pour comprendre.

Par avance je vous remercie

6suivi-poste.zip (287.35 Ko)

Bonjour,

La taille de ton fichier est inférieure à 1.5 Mo ! ...

Taille max fichier

Tu n'as donc pas besoin de le compresser.

Depuis la refonte du forum, il y a un nombre important de fichiers compressés inutilement.

Cdlt.

Jean Eric,
le pire c'est que je ne l'ai pas compressé, j'ai joins le fichier via l'icone joindre fichier.
Donc je ne comprend pas

5suivi-poste.zip (287.35 Ko)

le voici, mais il me le compresse quand même automatiquement ...
Du coup, la je ne comprend pas,
car, de plus, j'avais bien lu que la taille était tout a fait dans les clous

Bon j'ai réussi a retirer le "une colonne sur deux" (le pas de 2)

Par contre, comment puis "inserer" d'autres lettres ou chiffres dans le réglage : ' si la valeur de référence commence par 8
Car il s'avère que LP maintenant on fait des "forcing" avec des 7 ou des 6

Merci par avance

Option Explicit
Function couleur(cellule As Range)
    Application.Volatile
    couleur = cellule.Interior.ColorIndex
End Function

Sub Mensuel()
Const Site = "https://www.laposte.fr/outils/suivre-vos-envois?code="
Dim i&, j&, L&
Dim TData As Variant, TReport As Variant
Dim Sh As Worksheet

'------------ Valorisation des variables -------------------------------------------------------
'Sh est la feuille active au lancement de la macro
Set Sh = ActiveSheet
'Récupération des donées sur la feuille active.
'De la cellule $B$5 jusqu'a la derniere ligne remplie en colonne B pour la colonne BJ(62)
With Sh
    TData = .Range(.Cells(5, 2), .Cells(.Cells(.Rows.Count, 2).End(3).Row, 62))
End With
'Dimentionnement du tableau de réception
'Deux colonnes Référence et date
'Nombre de ligne égal au nombre de colonnes * le nombre de lignes du tableau de données.
'Si tout est rempli, on aura la place
ReDim TReport(1 To UBound(TData, 1) * UBound(TData, 2), 1 To 2) As Variant
'-----------------------------------------------------------------------------------------------

'------------ Traitement------------------------------------------------------------------------
'Pour chaque colonne du tableau de données
For j = LBound(TData, 2) To UBound(TData, 2)
    'Pour chaque ligne du tableau de données
    For i = LBound(TData, 1) + 1 To UBound(TData, 1)
        'Si la valeur de la référence commence par 8
        If Left(TData(i, j), 1) = "8" Then
        'on incrémente la ligne à utiliser dans le tableau de résultat
            L = L + 1
            'La valeur ligne L Colonne 1 est la référence
            TReport(L, 1) = TData(i, j)
            'La valeur ligne L Colonne 2 est la date (ligne 1 du tableau de données, colonne J
            TReport(L, 2) = TData(1, j)
        End If
    'Prochaine ligne de données
    Next i
'Prochaine colonne de données
Next j
'-----------------------------------------------------------------------------------------------

'------------ Retitution -----------------------------------------------------------------------
'si L est suppérieure à 0 (s'il y a des résultats)
If L > 0 Then
    'On bloque le calcul (la function personalisée est très lente)
    Application.Calculation = xlCalculationManual
    'On bloque l'affichage (gain de temps)
    Application.ScreenUpdating = False
    'Avec la feuille active
    With Sh
    'On restitue les résultats
        'On vide les colonnes BL:BN
        .Columns("BL:BM").ClearContents
        'On rempli l'en-tête
        'Ligne 5 colonne BL
        .Cells(5, 64).Value = "Référence"
        'Ligne 5 colonne BM
        .Cells(5, 65).Value = "Date"
        'Cellule ligne 6 colonne BL agrandie de L lignes sur deux colonnes on mets le résultat
        .Cells(6, 64).Resize(L, 2).FormulaLocal = TReport
        '-------------------Mise en place du lien hypertexte sur la feuille----------------------
        For i = 1 To L
             .Cells(i + 5, 64).Hyperlinks.Add Anchor:=.Cells(i + 5, 64), _
             Address:=Site & TReport(i, 1), TextToDisplay:=TReport(i, 1)
        Next i
        '----------------------------------------------------------------------------------------
    End With
    'On réactive l'affichage
    Application.ScreenUpdating = True
    'On réactive le calcul automatique
    Application.Calculation = xlCalculationAutomatic
End If
'--------------------------------------------------------------------
End Sub

resolu, et grace aux cours VBA
j'avoue, je suis content,

Jean Eric,

le pire c'est que je ne l'ai pas compressé, j'ai joins le fichier via l'icone joindre fichier.
Donc je ne comprend pas

Bonjour à tous,

Moi aussi, j'ai constaté ce phénomène ... je ne sais pas si cela se produit dès qu'un fichier atteint une certaine taille ... ou possède une certaine extension de fichier ...

Sébastien nous confirmerait ou infirmerait la chose ...

ric

Rechercher des sujets similaires à "probleme code"