Erreur 438

karybou

XLDnaute Occasionnel
Bonjour à tous,
Il y a quelques temps j'avais été aidée par Xwsp sur le forum pour la mise en place d'un fichier de récupération de données mensuelles, je le remercie encore pour son aide.
Cela a super bien fonctionner jusqu'à aujourd'hui avec un essai de récupération de données 2015 et voici l'erreur qui apparait
Erreur 438.jpg
Comment faire ?
Je vous remercie de votre aide.
Bien cordialement
K.
 

Pièces jointes

  • Erreur 438.jpg
    Erreur 438.jpg
    27 KB · Affichages: 391
  • Erreur 438.jpg
    Erreur 438.jpg
    27 KB · Affichages: 386

karybou

XLDnaute Occasionnel
Re : Erreur 438

Hello Paf, le forum,
Effectivement c'est mieux ! Il me fallait juste retrouver le fichier original sans les vraies données.
Merci beaucoup.
K.
 

Pièces jointes

  • recap_données v7.xlsm
    101.9 KB · Affichages: 48
  • recap_données v7.xlsm
    101.9 KB · Affichages: 44
  • recap_données v7.xlsm
    101.9 KB · Affichages: 52

Paf

XLDnaute Barbatruc
Re : Erreur 438

Re

chez moi l'erreur 438 survient sur les lignes

.ThemeColor = xlThemeColorAccent4
.TintAndShade = 0.799981688894314
.PatternTintAndShade = 0


de la Sub recup_donnees_mensuelles()

Mais ces propriétés n'étant pas gérées par Excel 2003, je ne sais si ce sont ces lignes qui vous bloquent également.

Désolé de ne pouvoir vous aider.

Bonne suite
 

karybou

XLDnaute Occasionnel
Re : Erreur 438

Hello,
A priori je n'ai pas ce type d'erreur.
Le fichier est essentiellement utilisé sur excel 2010, cela a très bien fonctionné jusqu'à ce jour. Le fichier ou se trouvent les données n'a pas été modifié, il a la même structure.
Merci de votre aide.
Belle soirée.
Cordiales salutations.
K.
 

bbb38

XLDnaute Accro
Re : Erreur 438

Bonsoir Karybou, Paf, le forum,
J’ai effectivement la même erreur 438 à la deuxième ligne du code « Sub bouton6_Clic() :
ActiveSheet.ListBox1.Clear
Une hypothèse : Le code ne trouve pas d‘UserForm contenant la ListBox1 (mais dans cet exemple).
Cordialement,
Bernard
 

camarchepas

XLDnaute Barbatruc
Re : Erreur 438

Bonjour ,

Je ne sais pas pourquoi , mais l'objet liste n'était pas reconnu , je l'ai viré puis recréé et ça a l'air d'être ok maintenant
 

Pièces jointes

  • recap_données v7.xlsm
    109 KB · Affichages: 26
  • recap_données v7.xlsm
    109 KB · Affichages: 29
  • recap_données v7.xlsm
    109 KB · Affichages: 31

Staple1600

XLDnaute Barbatruc
Re : Erreur 438

Bonjour à tous

Il nous manque un fichier pour tester (le fichier :donnees fin de mois.xlsx)
En attendant une copie anonymisée de ce fichier, je te propose cette modification partielle de ta macro recup_donnees_mensuelles
(juste la suppression des Select et autre activate)
Peux-tu nous redire le résultat observé est le même qu'avec le code initial ?

NB: J'ai également une erreur 438 relatif à tes ListBox1 et 2 sur la feuille macro
(Test sur Excel 2013)
Et j'ai suivi la même méthode que camarchepas (que je salue au passage) pour m'en soustraire.
(suppression des deux listsbox puis insertion de deux nouvelles listbox)
Code:
Sub recup_donnees_mensuellesBis()
'Mémoriser les noms de fichiers et de feuilles
fichier_mensuel = Cells(15, 3)
feuille_mensuel = "Recup"
fichier_annuel = ActiveWorkbook.Name
feuille_annuel = "donnees"
    
'copier/coller valeurs les lignes déjàˆ existantes
With Sheets(feuille_annuel)
    nouvelle_ligne = Cells(Rows.Count, 1).End(3).Row
    nouveau_mois = .Cells(nouvelle_ligne, "Q") + 1
    With .Rows("6:" & nouvelle_ligne)
    .Value = .Value
        With .Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .ThemeColor = xlThemeColorAccent4
            .TintAndShade = 0.799981688894314
            .PatternTintAndShade = 0
        End With
    End With
End With

'lire les lignes ˆ copier
Worksheets(feuille_mensuel).Rows("10:" & Worksheets(feuille_mensuel).Cells(Rows.Count, 1).End(3).Row).Copy
Sheets(feuille_annuel).Rows(Sheets(feuille_annuel).Cells(Rows.Count, 1).End(3).Row + 1).Insert Shift:=xlDown

'ajouter le mois
With Sheets(feuille_annuel)
der_ligne = .Cells(Rows.Count, "A").End(3).Row
.Range(.Cells(nouvelle_ligne + 1, "Q"), .Cells(der_ligne, "Q")) = nouveau_mois
End With
End Sub
 
Dernière édition:

karybou

XLDnaute Occasionnel
Re : Erreur 438

Hello Stape1600,
Merci de ta réponse, car en fait cela ne joue toujours pas.
Voici le fichier données qui est toujours nommé de la même façon : salaires 01, 02....
Je bosse sur Excel 2010 et avant c'était idem, je ne vois pas ce qui s'est passé.
Je vais essayer de modifier la macro comme tu me l'indiques et te redis.
Bien cordialement
K.
 

Pièces jointes

  • Salaires 01.xlsx
    18.3 KB · Affichages: 32

Staple1600

XLDnaute Barbatruc
Re : Erreur 438

Re

Karybou
Pour essayer mon code VBA, tu peux le lancer directement à partir de VBE, sans passer par tes ListBox
(Il suffit de mettre manuellement au préalable les noms du classeur et de la feuille sur la feuille macro
(cellule C15 et C27)
Mais ne pas oublier que mes modifications sont facultatives et non pas une solution à ton problème.
En attendant une copie anonymisée de ce fichier, je te propose cette modification partielle de ta macro recup_donnees_mensuelles
(juste la suppression des Select et autre activate)
C'est juste une réécriture de la macro initiale qui n'utilise pas de Select et Activate dans le code.
(ce qui normalement accélère le temps d’exécution de la macro)

Et je suis juste curieux de savoir si mes modifs produisent le même résultat que ta macro avec un temps d’exécution plus court ou pas ?
(PS: Rappel: je n'ai pas modifié la fin de ta macro (insertion des formules), donc il faut comparer ce que font les deux macros avant cette dernière étape)
 
Dernière édition:

karybou

XLDnaute Occasionnel
Re : Erreur 438

Re

Karybou
Pour essayer mon code VBA, tu peux le lancer directement à partir de VBE, sans passer par tes ListBox
(Il suffit de mettre manuellement au préalable les noms du classeur et de la feuille sur la feuille macro
(cellule C15 et C27)
Mais ne pas oublier que mes modifications sont facultatives et non pas une solution à ton problème.

C'est juste une réécriture de la macro initiale qui n'utilise pas de Select et Activate dans le code.
(ce qui normalement accélère le temps d’exécution de la macro)

Et je suis juste curieux de savoir si mes modifs produisent le même résultat que ta macro avec un temps d’exécution plus court ou pas ?
(PS: Rappel: je n'ai pas modifié la fin de ta macro (insertion des formules), donc il faut comparer ce que font les deux macros avant cette dernière étape)

Re,

J'ai lancé la macro directement à partir de VBE et effectivement c'est super rapide et ça marche sans passer par les Listbox.
Je n'ai pas tout compris !!
Dois-je dorénavant lancer mon exécution de récup ainsi ?
Mais je te remercie encore pour ton aide.
Bien cordialement.
K.
 

Staple1600

XLDnaute Barbatruc
Re : Erreur 438

Re

Karybou
Tu utilises tes fichiers comme tu l'entends ;) et avec les macros de ton choix ;)
De toute façon, pour le moment, ma macro n'est pas finalisée puisqu'il manque la dernière partie par rapport à ta macro originale

Sinon, il aurait plus simple de repartir dans le fil d'origine, non ?
https://www.excel-downloads.com/threads/recap-donnees.215819/
(Cela avait l'avantage d'avoir tout l'historique de la question et en plus les pièces jointes étaient déjà dedans)

Je dois m'absenter pour la matinée, je passe donc le relais à camarchepas et/ou mes autres petits camarades de jeu du forum.
 

Discussions similaires

Réponses
5
Affichages
219
Réponses
1
Affichages
131
Compte Supprimé 979
C

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 609
dernier inscrit
AmineAB33