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 :

[VBA-E] Probleme range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Par défaut [VBA-E] Probleme range
    Bonjour à tous

    Voila j'ai ce code :

    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
    Set MyDB = OpenDatabase("S:\Qualité\BDD Qualité\BDD Qualité.mdb") 
    Set MyTable = MyDB.OpenRecordset("test") 
    Set Sh = Worksheets("Feuil1") 
    With Sh 
        For Each r In .Range("A5:C300").Rows 
            With MyTable 
                .AddNew 
                !Ordre = Sh.Cells(r.Row, 1) 
                !article = Sh.Cells(r.Row, 2) 
                !Quantité = Sh.Cells(r.Row, 3) 
                .Update 
            End With 
        Next 
    End With 
    Set MyDB = Nothing: Set MyTable = Nothing: Set Sh = Nothing 
    End Sub
    Voila j'exporte des données SAP dont le nombre de ligne peux varier...
    Vous pouvez voir dans le code qu'a un moment j'ai range A5:C300. Dès
    fois j'ai presque 500 lignes et le problème qui intervient c'est que
    toutes les données ne sont pas exporter...

    Y'a t'il un moyen de pouvoir modifier ce A5:C300 en par exemple A5:C500 ?
    J'ai un user form qui me permet d'executer la macro d'export de
    données je voudrais pouvoir mettre aussi un champ me permettant de mettre le nombre de ligne exacte à exporter afin de ne pas avoir de lignes vides dans ma table access...

    Est ce possible si oui comment ?

    pouvez vous m'aidez ?

    Merci beaucoup

    A+

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Par défaut
    Il faut que tu remplace le nombre de ligne par une fonction qui te permette d'avoir le nombre de lignes, quelquesoit le fichier que tu mettra

    Par exemple tu peux utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DernièreLigne = Range("A1").End(xlDown).Row
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DernièreLigne = Range("A65535").End(xlUp).Row
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre confirmé Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Par défaut
    Ok merci pour l'aide mais je suis novice en VB et je ne vois pas trop où je dois inserer cette formule ?

    Merci beaucoup de ton aide

    A+

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    il y as aussi le currentRegion...., pour voir s'il te convient ouvre ta feuille excel avec des données place toi en A5 , actionne CTRL * si la sélection correspond au donnée que tu ve traiter, tu peu remplace la ligne for Each.. par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
     For Each r In .Range("A5").currentRegion.Rows 
    ...



  5. #5
    Membre confirmé Avatar de lolo_bob2
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 195
    Par défaut
    Bonjour

    je reviens à la charge mais je viens d'essayer la dernière formule avec currentregion et cela ne fonctionne pas...j'ai toujours des lignes vides qui sont inserées dans ma table access...
    Pourtant quand je fais ctrl * ma région s'arrête bien à la dernière ligne...

    Merci de votre aide

    A+

Discussions similaires

  1. [VBA-E]Probleme avec la fonction Range
    Par pec dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/04/2006, 11h36
  2. [VBA] [Excel] Probleme de rafraichissement d'un label
    Par lejert dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 17h09
  3. [VBA-E] Probleme couleur macro
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/09/2005, 11h11
  4. [VBA-E] Probleme supression de la virgule
    Par Flyin_arno dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/07/2005, 15h22
  5. [VBA-E] problème avec le sendkeys
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2005, 14h25

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