Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Erreur 424 Objet requis Macro Excel [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (Gagou_c)

lundi 30 janvier 2006 à 11:18:11 | Erreur 424 Objet requis Macro Excel

Gagou_c

Bonjour,

Je dois faire une macro avec excel qui consiste à parcourir une colonne, et pour chaque ligne trouver la référence correspondante dans une table de ma base ORACLE.

J'ouvre ma connexion, et lorsque j'exécute ma requete, il met l'erreur 424 "Objet Requis" sur une ligne de mon code ( rouge ci dessous ).
Je pense que le souci vient de la connexion passée en paramètre.

Pouvez vous m'aider ?

Merci

Voici mon code :

Sub Macro3()

' Connexion à la base

    Dim connString As String
    connString = "Provider=MSDAORA.1;Server=XXXX;Data Source=XXXXX;USER ID=XXXX;PASSWORD=XXXX"
    
    'Création de l'objet connection
    Set oConn = New ADODB.Connection
    oConn.ConnectionString = connString
    
    'Ouverture de la connexion
    oConn.Open
   
    'MsgBox "Connexion réussie"
  
    For i = 1 To 2000
   
        Cells(i, 1).Select
       
        If Not IsNull(Cells(i, 1).Value) Then
       
            Set rst = New ADODB.Recordset
            Sql = "Select AVC from L3CGROUP.ITMFACILIT where ITMREF='" & Cells(i, 1).Value & "';"
            rst.Open Sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
           
            Cells(i, 2).Value = rst!AVC
           
        Else
            Cells(i, 2).Value = "Rien"
        End If
       
    Next
   
    oConn.Close
   
End Sub


lundi 30 janvier 2006 à 18:33:38 | Re : Erreur 424 Objet requis Macro Excel

jack

Administrateur CodeS-SourceS
Salut
- Ta syntaxe RST.Open est bizarre (mais j'y connais pas grand chose en Excel).
- Tu n'arrêtes pas de rédimensionner ton RST !    Il faut utiliser Close de temps en temps !
For i = 1 To 2000
        Cells(i, 1).Select
        If Not IsNull(Cells(i, 1).Value) Then
            
Set rst = New ADODB.Recordset
            Sql = "Select AVC from L3CGROUP.ITMFACILIT where ITMREF='" & Cells(i, 1).Value & "';"
            rst.Open Sql, oConn, adOpenKeyset, adLockOptimistic
            If rst.RecordCount > 0 Then
                  Cells(i, 2).Value = rst!AVC
            Else
                  Cells(i, 2).Value = "Rien"
            End If
            rst.Close
        Else
            Cells(i, 2).Value = "Rien"
        End If
Next i
Set rst = Nothing

Il est bizarre aussi que ton nom de table comporte un point ...
Rappel : Si ITMREF est déclaré comme numérique dans ta DB, il ne faut pas utiliser de ' pour encadrer les valeurs dans la syntaxe SQL !

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)

mardi 31 janvier 2006 à 08:29:57 | Re : Erreur 424 Objet requis Macro Excel

Gagou_c

Réponse acceptée !

Merci, jai réussi à le faire finalement !

Voici ma solution, plus complexe que la tienne :

Sub RequetePMP()

' Connexion à la base

    Dim oConn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim cmdCommand As ADODB.Command
   
    Dim connString As String
   
    connString = "Provider=MSDAORA.1;Server=XXXX;Data Source=XXXX;USER ID=XXXX;PASSWORD=XXXX"
    
    'Création de l'objet connection
    Set oConn = New ADODB.Connection
    oConn.ConnectionString = connString
    
    'Ouverture de la connexion
    oConn.Open
   
    'MsgBox "Connexion réussie"
  
    For i = 1 To 2000
   
        Cells(i, 1).Select
       
        If (Cells(i, 1).Value <> "") Then
       
            Set cmdCommand = New ADODB.Command
            Set cmdCommand.ActiveConnection = oConn
            With cmdCommand
                .CommandText = "Select AVC_0 from L3CGROUP.ITMMVT where ITMREF_0='" & Cells(i, 1).Value & "'"
                .CommandType = adCmdText
                '.Execute
            End With
           
            Set rst = New ADODB.Recordset
            Set rst.ActiveConnection = oConn
            'Sql = "Select AVC from L3CGROUP.ITMFACILIT where ITMREF='" & Cells(i, 1).Value & "';"
            rst.Open cmdCommand
           
            If rst.EOF = False Then
                Cells(i, 4).Value = rst.Fields(0)
            End If
        Else
            Cells(i, 4).Value = ""
        End If
       
        Set cmdCommand = Nothing
        Set rst = Nothing
       
    Next
   
    oConn.Close
   
End Sub


Merci de ton aide !!!


mardi 7 août 2007 à 13:45:27 | Re : Erreur 424 Objet requis Macro Excel

Ronaldort



moi j'ai la meme message 'erreur 424 ':un objet est requis
ce message apparait quand je veux aller d'une application Form1 à une autre Form2 en écrivant   Form2.Show
pourquoi?



Cette discussion est classé dans : objet, connexion, value, cells, oconn


Répondre à ce message

Sujets en rapport avec ce message

Objet InternetExlporer : comment ca marche ? [ par JSetVB ] bonjour ou bonsoir,Je dois developper une application qui permet de communiquer entre un serveur de données sur linux et un outil pc sur windows.Pour est ce que quelqu'un pourra corriger mon code pour qu'il fonctionne... [ par cyrius ] cyriusbonjour tout le monde,je debute en prog la je suis desesperé.Je dois transferer des données de mon formulaire access sur une page ecxel bien pre pb dans macro! [ par sophie44 ] voici deux boucles l'une dans l'autre et j'aimerai que qd celle de "l'intérieur" arrive à "else" (au point (2)),elle reprenne à partir de la première pb de boucle moulinette trop longue [ par papaours ] bonjour je fais tourner ce code qui supprime des lignes en doubles sur une feuille excel.en gros j'ai 1000 lignes par feuilles et le programme mouline BOUCLE DO LOOP-FOR [ par arnonatex ] Bonjour j'ai un programme ds lequel je veux générer des cellules à partir de formules jusqu'à ce que la cellule atteigne un nombre mais la boucle do l VB - Comparaison de valeur de cellule [ par nobilis ] Bonjour,J'ai créé une macro dans excel qui fait que si la cellule 6 et la cellule 12 contiennent le prénom Alain, un message d'erreur apparaît.  Idem Liste avec mot de passe sous excel [ par Big_G ] Bonjour,Je souhaite en fait réaliser un userform qui demande le nom d'utilisateur et le mot de passe à l'ouverture de mon classeur.Deux petits problèm VBA - erreur d'exécution 9 [ par nobilis ] Bonjour,J'ai créé une macro excel qui me permettait de reprendre les informations (nom du sujet, journaliste et technicien) d'un tableau principal pou pb dans une fonction [ par raph007 ] voila le point qui ne fonctionne pas c'est le code qui vient apres "position2" il me fait une erreur de selectionqu'en pensé vous????Private Sub cmdto TROUVER l'ERREUR ! [ par yoarf ] Suite à ce code:designation = Feuil1.Cells(a, 2).Value db.Execute ("INSERT INTO T_ACTIONS (NumeroRapport,CodeContrat,CodeTypeRapport,[N° d'


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.