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 :

Utilisation "break" ou "Go to"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Par défaut Utilisation "break" ou "Go to"
    Bonjour,

    Je vous explique mon problème:
    J'ai une liste de valeur en colonne.

    Je souhaiterai coller un élément à la fin de la liste.
    Je pensais donc faire une boucle qui parcourt la liste et qui teste les valeurs. Ainsi, à la première valeur vide elle collerai l'élément.
    Une fois le collage effectué, il faudrait que la boucle s'arrete.
    On m'a conseillé un "break" où un goto à inclure dans le corps du code de mon "if".
    Comment s'utilise "GoTo" ou "break"?
    Quel est la synthaxe?

    Merci de votre aide!!!

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour

    je n'aime ni breack ni goto

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    i=1
    While range("A" & i)>""
        msgbox Range("A" & i)
        i = i + 1
    wend
    en Francais
    Initialisation de I selon 1ere ligne
    Tant que La valeur de la colonne A à la ligne i est > à "" faire le traitement qui suit
    Affiche en message la valeur de La cellule A & I
    Incrementation de i pour tester la cellule suivante
    Retour au debut (While)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Par défaut
    En utilisant ton code, à quel moment je peux effectuer mon collage?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    Bonjour,

    Ainsi, à la première valeur vide elle collerai l'élément.
    à quel moment je peux effectuer mon collage?
    Dès que ta boucle trouve une cellule vide ....

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 126
    Par défaut
    En fait je dois avouer que je n'ai jamais eu l'occasion d'utiliser while en VBA...
    Le collage se fait après le Wend?

  6. #6
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    desolé, je n'avais pas tout compris ta demande

    voici un autre option autant de fois plus rapide que tu as de ligne dans ta base
    à adapter selon tes feuilles et tes cellules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim ligne as long
    Ligne = sheets("Bases").range("A65536").end(xlup).row +1
    ' par copier coller
    Sheets("Saisie").range("A1").copy destination:=sheets("Bases").range("A" & ligne)
    ' en affectation directe
    Sheets("Bases").range("A" & ligne) = sheets("Saisie").range("A1")
    ' copie une ligne complete 
    sheets("Saisie").range("A1:E1").copy destination:=Sheets("Bases").range("A" & ligne)

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par Loki83 Voir le message
    En fait je dois avouer que je n'ai jamais eu l'occasion d'utiliser while en VBA...
    Le collage se fait après le Wend?
    Même si la solution que vient de poster wilfried est beaucoup plus rapide, je te répondrai que oui.

    Et pour cause: une fois sorti de la boucle ta variable de boucle reste intacte en mémoire et tu peux donc toujours l'exploiter.

    Ensuite, je ne connais pas de "break" en VB/VBA: il n'y a que des "Exit" et malheureusement le "Exit While" n'existe pas.

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

Discussions similaires

  1. [Shell][sed]utilisation d'un sed pour gérer des doubles quotes
    Par bstevy dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 06/03/2015, 12h03

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