J'ai une erreur 424

Résolu
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 21 mars 2024 à 09:24
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 - 21 mars 2024 à 15:56

Bonjour à tous,

Je suis en train de finaliser un classeur de gestion bancaire qui fonctionne très bien.

Pour achever le travail, je dois créer un onglet « Archives » dans lequel sera enregistrées toutes les opérations pointées. Le transfert depuis l’onglet principal sur cet onglet se fait par macro depuis la colonne « A3 » jusqu’à la colonne « L ».

Je souhaiterais créer entre les colonnes « AA » et « AC » un tableau qui servira à la création d’un TCD. Ce tableau doit se remplir chaque fois qu’une ligne sera archivée.

  • Colonne « AA » il y aura la date sous la forme mois, en lettre, et l’année, en chiffres.
  • La colonne « AB3 il y aura la catégorie.
  • Colonne « AC » il y aura le montant avec in signe moins (-) pour différencier les débits des crédits.

Un exemple de ce que je charche à faire et surligné en jaune.

J’ai donc créé une macro qui sera insérée dans la macro archivage de manière à être exécutée chaque fois qu’une ligne sera archivée. Quand je lance la macro j’ai une erreur « 424 Objet requis. » Cette erreur se situe sur la ligne pour la date.

Avec le lien ci-dessous vous pourrez télécharger un classeur test à l’image exact de mon classeur.

https://www.cjoint.com/c/NCvioHrVsIb

J’ai passé des heures à chercher sans résultats, c’est pourquoi je sollicite votre aide.

D’avance merci.

Cordialement.

Mistral

3 réponses

Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
21 mars 2024 à 10:29

Bonjour,

Au passage, essayez avec ce code:

Sub PreparationTCD()
With Sheets("Archives")

' Mise à jour jaune préparatoire au TCD.

' Définition de la variable "Ligne".(dernière ligne de la colonne C
    Ligne = .Cells(Rows.Count, 3).End(xlUp).Row

' Définition du mois en lettres.
    mois = Choose(Month(.Cells(Ligne, 3)), "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", _
    "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")

' Remplissage ligne du tableau jaune.
    .Cells(Ligne, 27).Value = mois & " " & Year(.Range("C" & Ligne))      ' Mois suivi de l'année
    .Cells(Ligne, 28).Value = .Cells(Ligne, 5)
    
        If .Cells(Ligne, 9) <> "" Then 'si c'est une dépense
                .Cells(Ligne, 29).Value = .Cells(Ligne, 9) * -1           'Me.TextBox_Debit * -1
        Else 'si pas dépense c'est au crédit
            .Cells(Ligne, 29).Value = .Cells(Ligne, 10)
        End If
End With
End Sub

0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
21 mars 2024 à 15:19

Bonjour Le Pingou,

Je viens de faire les tests aussi bien sur le classeur test que je t'avais envoyé mais aussi dans le classeur final en l'integrant dans mes macros et tout fonctionne parfaitement.

Je ne connaissais pas cette instruction With qui permet de simplifier le code sans avoir à répeter le nom de la feuille.

Je ferme le sujet.

Mille mercis à toi.

Cordialement

Mistral

0
Le Pingou Messages postés 12048 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 26 avril 2024 1 427
21 mars 2024 à 15:56

Merci, bonne suite


0