IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Variable objet ou variable de bloc With non définie


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Variable objet ou variable de bloc With non définie
    Je débute en VBA et je galère avec le code ci-dessous.

    Le message d'erreur :
    "Variable objet ou variable de bloc With non définie" (erreur excécution 91)

    Il s'arrête sur le passage en gras.

    C'est sûrement bête comme chou mais j'avoue que je commence à faiblir à force d'avoir toujours des beugs.. Pouvez vous jeter un d'oeil sur le code et me dire ce qui cloche? Merci. SL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Sub majmp()
        Dim cnx As ADODB.Connection
        Dim rsData As ADODB.Recordset
        Dim szConnect As String
        Dim szSQL As String
        Dim PathMyApplication As String
        Dim un_champ As ADODB.Field
        Dim intNoCol As Integer
        Dim intNoLigne As Integer
        Dim i1 As String
        Dim i2 As String
        Dim codeprojet As ADODB.Field
        Dim iL As Integer
        
        'déclaration d'un objet connection
        Set rsData = New ADODB.Recordset
        
        'instanciation de l'object cnaccess
        Set cnx = New ADODB.Connection
        
        'valorisation de la propriété connectionstring
        PathMyApplication = "G:\Gestion" & "\"
        ' Créer la chaine de connexion
         szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
         "Data Source= " & PathMyApplication & "SIAL.mdb;"
        
       'garniture du rs 
        rsData.Open "MajorProjectsLV", szConnect, adOpenDynamic, adLockOptimistic, adCmdStoredProc
    
         'garniture des données
    
     i2 = 1
    rsData.MoveFirst
    codeprojet = rsData.Fields("Code project")
    
    Do While Not rsData.EOF
    For Each codeprojet In rsData.Fields
    If codeprojet = Worksheets("TEST2").Cells(i2, 1).Value Then
    Worksheets("TEST2").Cells(i2, 2).Value = rsData.Fields("code Project")
    Worksheets("TEST2").Cells(i2, 3).Value = rsData.Fields("last gate")
    
    Else
    iL = Cells(65535, 1).End(xlUp).Offset(1).Row
    Worksheets("TEST2").Cells(iL, 1).Value = rsData.Fields("code projet").Value
    
    i2 = i2 + 1
    End If
    Next codeprojet
    
    rsData.MoveNext
    Loop
    
              
        'ouverture de la connexion avec la base access
        
        MsgBox "Les données ont été mises à jour selon la requête Access..."
            
    End Sub

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Mets cette ligne en remarque, "il me semble" qu'elle est inutile (?!?)
    codeprojet = rsData.Fields("Code project")
    Tu dis
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Maintenant autre beug
    Merci de ta réponse.

    Alors effectivement la ligne à l'air inutile car il trouve bien mon code projet (mais du coup il doit parcourir tous les champs de ma requête Access, ce qui est peut être un peu lourd, au lieu de parcourir seulement les enregistrements sur le champs "code projet"??).

    Par contre j'ai une erreur inquiétante "dépassement de capacité" (erreur 6) sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iL = Cells(65535, 1).End(xlUp).Offset(1).Row
    qui doit me permettre de me possitionner à la fin de mon tableau Excel (sur la première ligne vide pour ajouter une ligne de données _ Je cherche en fait à ajouter une ligne à la fin du tableau, soit en faisant une insertion soit en me positionnant sur la cellule de la ligne déjà existante selon ce qui est faisable). Tu sais comment je peux faire / résoudre cette erreur là?

    Merci. SL

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Non, je ne comprends pas, 65536 étant bien une ligne valide.
    Par contre, il est possible que tu aies une erreur de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    iL = Cells(65535, 1).End(xlUp).Row +1
    Teste ça (???)
    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut idem
    En mettant ton code j'ai exactement le même message d'erreur.

    J'ai déjà vu ce message mais il faudrait que je fasse une recherche pour me souvenir quel était le problème. J'avais trouver des éléments de réponse sur les forums Access je crois.

    Si quelqu'un a la solution et peux nous éclairer, ça serait cooool!!!

    Merci en tout cas,

    SL

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Quelle version d'Excel?

    Excel 97 ne peut gérer que 32767 lignes.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Version 2003
    J'ai trouvé la réponse là:
    http://www.developpez.net/forums/sho...ent+capacit%E9

    En fait l'erreur venait de "integer" j'ai mis "string" à la place.

    Je n'ai peut-être pas assurer d'ailleurs parce que il ne m'ajoute pas du tout de ligne supplémentaire à la fin du tableau.

    Quelqu'un à la formule magique pour lui dire "mets toi sur la première ligne vide du tableau" ou encore "ajoute une ligne à la fin du tableau et restes y"??

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par sl1980 Voir le message
    En fait l'erreur venait de "integer" j'ai mis "string" à la place.
    Et si tu essayais Long?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Ca marche à peu près...
    sauf qu'il me met les données à la toute fin du fichier... et non après la dernière ligne du tableau.

  10. #10
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Non excusez moi
    C'est bon c'est parce que j'avais des données qui s'étaient perdu dans la feuille excel... Il me mettait donc les données access à la suite.

    C'est pas encore parfais mais j'avance...

    Merci à vous

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ben mon yieux ! Y'a des jours comme ça... Et qu'en plus y dit même pas que c'est résolu quand c'est résolu...

    Alors tu le mets ce ?

    Quelle journée !

    Sans rancune
    A la prochaine !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/09/2008, 20h14
  2. Variable objet ou variable bloc with non définie
    Par tarbala dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 06/05/2008, 12h19
  3. Réponses: 11
    Dernier message: 12/06/2007, 09h26
  4. Variable objet ou variable d'un bloc With non définie.
    Par paradeofphp dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/05/2007, 20h41
  5. Réponses: 13
    Dernier message: 01/06/2006, 17h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo