Erreur 424:Objet requis et Erreur 438:l'objet ne gère pas... Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
E
Elo7
Membre habitué
Membre habitué
Messages : 77
Inscrit le : 5 avril 2016
Version d'Excel : 2010 FR

Message par Elo7 » 11 avril 2016, 09:25

Bonjour à tous,

J'aimerais que vous m'aidiez à trouver ce qui ne va pas avec ces codes. J'ai modifié le 1er code en espérant résoudre mon problème mais en vain.

Celui ci me donne erreur 424: Objet requis
Private Sub Workbook_Open()
ligne = 1
For ligne = 1 To 10
    ValPrec = "Valeur" & ligne 'pour avoir Valeur1 , Valeur2, Valeur 3 etc
    Feuil1.ValPrec = Feuil1.Cells(ligne, 1)
    ligne = ligne + 1
    Next ligne
Et celui là Erreur 438 « l'objet ne gère pas cette propriété ou méthode »
Private Sub Workbook_Open()
ligne = 1
Set LaFeuille = Sheets("Feuil1")
    For ligne = 1 To 10
    ValPrec = "Valeur" & ligne 'pour avoir Valeur1 , Valeur2, Valeur 3 etc
    LaFeuille.ValPrec = LaFeuille.Cells(ligne, 1)
    ligne = ligne + 1
    Next ligne
End Sub
Lorsque je lance le mode pas à pas, je constate que le problème se situe au Niveau de cette ligne
LaFeuille.ValPrec = LaFeuille.Cells(ligne, 1)

ou
Feuil1.ValPrec = Feuil1.Cells(ligne, 1)
Je n'arrive pas à détecter mon erreur.

Merci d'avance pour vos réponses.
Bon début de semaine.

Cordialement
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'172
Appréciations reçues : 636
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 11 avril 2016, 09:36

Bonjour,
Tout cela est un peu brouillon. :oops:
Essaie ceci :
Option Explicit

Private Sub Workbook_Open()
Dim I As Long
Dim valPrec As String

    For I = 1 To 10
        valPrec = "Valeur" & I
        Feuil1.Cells(I, 1) = valPrec
    Next I
    
End Sub
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'182
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 11 avril 2016, 09:46

Bonjour,

Pour commencer, tu supprimes de ton code : ligne = 1 et ligne = ligne + 1
Ou c'est toi qui incrémentes, ou c'est la boucle, mais pas les deux en même temps... là tu ne défilais qu'une ligne sur deux (si pas d'erreur)

ValPrec est une variable contenant une donnée de type String. En aucun cas une propriété ou une méthode de l'objet Worksheet que tu pourrais accoler à ta variable-objet LaFeuille.
Il s'agit donc de savoir ce qu'est censé représenter le contenu de cette variable ?

Et si tu déclarais tes variables, ce serait un progrès indéniable.

Cordialement.
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'172
Appréciations reçues : 636
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 11 avril 2016, 09:50

Re,
@ MFerrand,
Le rouge te vas bien. ;;)
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'182
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 11 avril 2016, 10:14

Mais je note qu'il te sied aussi :D
A+
E
Elo7
Membre habitué
Membre habitué
Messages : 77
Inscrit le : 5 avril 2016
Version d'Excel : 2010 FR

Message par Elo7 » 11 avril 2016, 10:29

Merci pour vos réponses rapides,

Encore désolée pour mes erreurs de débutante qui "dérangent"mais soyez indulgent :)
Et merci pour les Conseils.
Jean-Eric a écrit :Bonjour,
Tout cela est un peu brouillon. :oops:
Essaie ceci :
Option Explicit

Private Sub Workbook_Open()
Dim I As Long
Dim valPrec As String

    For I = 1 To 10
        valPrec = "Valeur" & I
        Feuil1.Cells(I, 1) = valPrec
    Next I
    
End Sub
Le but de la macro n'est pas d'écrire à chaque fois Valeur1 dans les cellules mais plutôt de definir des variables Valeur1 à Valeurs10 de la manière suivante mais en utilisant une boucle car j'ai plus de 10 Valeurs en vrai.
Dim Valeur1, Valeur2, Valeur3, Valeur4, Valeur5, Valeur6, Valeur8, Valeur9, Valeur10 As Integer

Feuil1.Valeur1 = Feuil1.Cells(1, 1)
Feuil1.Valeur2 = Feuil1.Cells(2, 1)
Feuil1.Valeur3 = Feuil1.Cells(3, 1)
Feuil1.Valeur4 = Feuil1.Cells(4, 1)
Feuil1.Valeur5 = Feuil1.Cells(5, 1)
Feuil1.Valeur6 = Feuil1.Cells(6, 1)
Feuil1.Valeur7 = Feuil1.Cells(7, 1)
Feuil1.Valeur8 = Feuil1.Cells(8, 1)
Feuil1.Valeur9 = Feuil1.Cells(9, 1)
Feuil1.Valeur10 = Feuil1.Cells(10, 1)
Merci encore pour vos réponses.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'182
Appréciations reçues : 446
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 11 avril 2016, 10:53

Tu élimines ValPrec !
Tu définis Valeur comme tableau de 1 à 10 : Dim Valeur(1 To 10), ou sur l'éventail de valeurs que tu souhaites, typé ou non selon ce que tu mets comme contenu...
Et dans ta boucle : For i = 1 To 10
Tu affectes de cette façon : Valeur(i) = Feuil1.Cells(i, 1) [ou LaFeuille.Cells... etc.]

Cordialement.
E
Elo7
Membre habitué
Membre habitué
Messages : 77
Inscrit le : 5 avril 2016
Version d'Excel : 2010 FR

Message par Elo7 » 11 avril 2016, 12:07

MFerrand a écrit :Tu élimines ValPrec !
Tu définis Valeur comme tableau de 1 à 10 : Dim Valeur(1 To 10), ou sur l'éventail de valeurs que tu souhaites, typé ou non selon ce que tu mets comme contenu...
Et dans ta boucle : For i = 1 To 10
Tu affectes de cette façon : Valeur(i) = Feuil1.Cells(i, 1) [ou LaFeuille.Cells... etc.]

Cordialement.
Problème résolu! :D

Ca fonctionne!! Merci à vous deux . :merci:

Bon début de semaine.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message