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 :

Verifier une valeur dans un fichier et faire un boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 7
    Par défaut Verifier une valeur dans un fichier et faire un boucle
    Bonjour,

    Je suis un débutant VBA.

    Je mets en place un fichier d'ordonnancement de la production et j'aimerai automatiser les actions.
    Je voudrai qu' A CHAQUE FOIS QUE JE CLIQUE sur un bouton "actualiser"
    que mon code VBA aille chercher dans ma base de données tous les numéros+valeur+vendeur+ref+statut+ qté+stock qui correspondent et les colle dans mon tableau d'ordonnancement.
    à la suite de mes numéros de lots déjà présents dans mon tableau.


    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,

    Conformément aux règles du forum, ne joins pas de fichier, mais explique nous clairement ton problème.
    Quel est ton code actuel ? Où rencontres-tu un problème ? As-tu un message d'erreur ? Si oui, lequel et où ?
    Joins éventuellement des copies d'écrans si cela facilite l'explication.

    aille chercher dans ma base de données tous les numéros+valeur+vendeur+ref+statut+ qté+stock qui correspondent
    Qui correspondent à quoi ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 7
    Par défaut
    Je veux en cliquant sur un bouton actualiser chercher dans mon fichier Base de données les valeurs dans les colonnes A B C D E et les coller dans mon fichier Planning colonnes A B C D E
    faire la boucle jusqu'à ce que je trouve une cellules vide dans ma base.

    Merci

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Voici quelques liens utiles pour la résolution de ton problème :

    Bon courage !

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 7
    Par défaut faire une boucle copier d'une feuille et colle dans une autre
    Merci de trouver la macro que j'ai faite et de m'aider pour exécuter une boucle.
    En fait je veux copier dans la feuille "Ordo" les cellules déclarées, faire un boucle tant que la cellule n'est pas vide, les copier toutes
    puis les coller dans un feuille "planning"
    j'aimerai le faire de façon automatique en cliquant sur une zone "actualiser" qui va exécuter la macro.

    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
    63
    64
    65
    66
    Public Co As Integer
    Public CodL As String
    Public CodS As String
    Public Codf As String
    Public Codf1 As String
    Public Codu As String
    Public CodV As String
     
    Sub dom()
     
     
    Co = ActiveCell.Row
    Rows(Co).Select
     Range("E" & Co).Select
     Codf = ActiveCell.Value
      Range("c" & Co).Select
     CodL = ActiveCell.Value
       Range("B" & Co).Select
    Codu = ActiveCell.Value
       Range("A" & Co).Select
    Codf1 = ActiveCell.Value
       Range("D" & Co).Select
    CodV = ActiveCell.Value + 1 - 1
       Range("B3").Select
    CodS = ActiveCell.Value
     
    While Co = Co <> ""
    Co = ActiveCell.Row
    Rows(Co).Select
     Range("E" & Co).Select
     Codf = ActiveCell.Value
      Range("c" & Co).Select
     CodL = ActiveCell.Value
       Range("B" & Co).Select
    Codu = ActiveCell.Value
       Range("A" & Co).Select
    Codf1 = ActiveCell.Value
       Range("D" & Co).Select
    CodV = ActiveCell.Value + 1 - 1
       Range("B3").Select
    CodS = ActiveCell.Value
     
    Wend
     
    Sheets("Planning").Select
     
    'planning
    Range("B1").Select
    Do While Not IsEmpty(ActiveCell)
    ActiveCell.Offset(1, 0).Select
    Loop
     
    ActiveCell = CodS
    ActiveCell.Offset(0, 1).Select
    ActiveCell = Codf1
    ActiveCell.Offset(0, 1).Select
    ActiveCell = Codu
    ActiveCell.Offset(0, 1).Select
    ActiveCell = Codf
     
    ActiveCell.Offset(0, 2).Select
    ActiveCell = CodL
    ActiveCell.Offset(0, 2).Select
    ActiveCell = CodV
     
    End Sub

  6. #6
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Voici quelques conseils et remarques :
    1. N'utilise pas Activate/ActiveCell/Select etc ... Cela entraîne souvent des problèmes dans le code. Utilise directement les objets. Par ex. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    '---------- N'écris PAS : ----------
    Range("E" & Co).Select
     Codf = ActiveCell.Value
    '---------- MAIS : ----------
    Codf = Range("E" & Co).Value
    2. Tu veux faire quoi là ?
    Co <> "" renvoie VRAI si Co n'est pas vide et FAUX sinon. Là, tu cherche la condition où Co vaut ce que renvoie Co <> "".
    3. A quoi ça te sert tout ce que tu fais dans la boucle While ? A chaque iteration, tu attribues une autre valeur aux variables sans les utiliser ... du coup tu "ré-écris" par dessus à chaque iteration. A la fin, les variables vaudront ce qu'elles valent à la dernière itération.
    4. Trouver la ligne de la dernière cellule non vide de la colonne A :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim rowN As Long
    rowN = Range("A" & Cells.Count).End(xlUp).Row
    On utilise pas une boucle pour cela, c'est trop long. La méthode ci-dessus est plus efficace.
    5. Tu dis que tu veux copier-coller quelque chose, mais je ne vois pas de méthode Copy ? Ex. d'utilisation de la méthode Copy :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Ordo").Range("A1:D25").Copy destination:=Sheets("Planning").Range("A1")
    Essaie de simplifier ton code avec tout cela, puis reviens vers nous

Discussions similaires

  1. récupérer une valeur dans un fichier .txt ?
    Par _n1n1_ dans le forum VB.NET
    Réponses: 5
    Dernier message: 27/04/2007, 19h19
  2. Modifier une valeur dans un fichier xml
    Par arthrax dans le forum VBScript
    Réponses: 3
    Dernier message: 03/04/2007, 09h46
  3. [XSLT] Tester la non présence d'une valeur dans un fichier
    Par arnauann dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/01/2007, 15h29
  4. Modifier une valeur dans un fichier sans passer par l'éditeur
    Par elkhy dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/06/2006, 00h15
  5. [D6] Recherche d'une valeur dans un fichier
    Par Lung dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2005, 08h26

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