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 :

Recordset.movenext probléme de ligne (excel vers Access) [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Par défaut Recordset.movenext probléme de ligne (excel vers Access)
    Bonjour à tous,
    voila j'ai un petit probléme de macro où je ne trouve pas la solution a mon probléme. Je fais quelques tests pour une futur macro pour vérifier si un enregistrement est deja présent dans la base de données Access. si je modifie les enregistrements, le movenext fonctionne correctement ( il y a une mgsbox qui demande une confirmation de update), par contre si je met "non" dans la msgbox, le movenext passe une ligne (de plus ) de l'enregistrement à chaque fois, en gros si je met non à "abc01", le movenext passe directement a "abc03" et ignore le "abc02" , c'est qui me pose probléme. Je ne suis pas très fort avec tout cela, si quelqu'un serait m'aider, ce serait super!!!! merci

    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
    59
    60
    61
    62
     
     
    Sub doublons()
     
    Dim ret As Integer
     
    Dim MonFichierAccess As Database
     
    Dim MaTableDansAccess As DAO.Recordset
     
     
    Set MonFichierAccess = OpenDatabase("T:\essaie\Nouveau dossier (2)\dossier test macro\mdb\Serial number.mdb")
     
    Set MaTableDansAccess = MonFichierAccess.openRecordset("N° séries", dbOpenTable)
     
    '-----------------------------------------------------------------------------------------------------------------------------------------
     
    With MaTableDansAccess
            If .RecordCount > 0 Then
                .MoveFirst ' positionne le pointeur en premiere position ( en principe!)
            While Not MaTableDansAccess.EOF 'on boucle jusqu'a la fin de la table
     
     
                    ras = MaTableDansAccess.Fields("Numéro de série") 'on attrape les identifiants de access
                    res = MaTableDansAccess.Fields("N° de plan WB")   ' on attrape les N°de pompe
     
     
     
                 If res = "WB5000" Then 'si le N° de pompe est déja dans la DB, alors
     
                 ret = MsgBox("Voulez-vous mettre à jour le N° de série: " & ras & "  ?", vbYesNo) 'on demande si on veut faire une mise à jour de la pompe
     
     
                 If ret = vbNo Then 'Si c'est non alors on ignore la ligne et on passe à la pompe suivante
                    .MoveNext          '??????
     
     
                 Else 'sinon
     
                 MaTableDansAccess.Edit ' on ouvre la methode d'edition
     
                 MaTableDansAccess![N° de plan WB] = "WB1101" ' on remplace la donnée dans la table Access de la ligne
                 MaTableDansAccess.Update ' on execute l'update, elle sera à insérer dans la base de donnée ' si oui, tout est ok pour cette partie 
     
     
                 End If
     
     
     
     
                    End If
     
                    On Error Resume Next
                    .MoveNext
                Wend
            Else
                MsgBox "Pas d'enregistrement trouvé"
            End If
        End With
     
     
    End Sub

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par eclipse03 Voir le message
    si je met "non" dans la msgbox, le movenext passe une ligne (de plus ) de l'enregistrement à chaque fois, en gros si je met non à "abc01", le movenext passe directement a "abc03" et ignore le "abc02"
    C'est normal puisque tu as deux MoveNext. Regarde le déroulement de ton code.

    Remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
                 If ret = vbNo Then
                    .MoveNext
                 Else
    Par :

  3. #3
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Février 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 17
    Par défaut
    Mais oui bien sur ! ^^ merci beaucoup

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

Discussions similaires

  1. [AC-2007] Problème d'import Excel vers Access
    Par christophe31 dans le forum VBA Access
    Réponses: 10
    Dernier message: 04/04/2010, 18h39
  2. [AC-2007] Importation d'une ligne entière Excel vers Access
    Par polemos dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/02/2010, 12h03
  3. Problème Copy Données d'excel vers access
    Par Schat6903 dans le forum VBA Access
    Réponses: 17
    Dernier message: 14/08/2008, 16h36
  4. Problème d'iportation Excel vers Access
    Par poyoland dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 14/06/2006, 16h52
  5. Problème champ après import d'excel vers access
    Par David M dans le forum Access
    Réponses: 6
    Dernier message: 16/10/2005, 11h53

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