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 :

Range(VarCol & VarLigne).Select [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Range(VarCol & VarLigne).Select
    Bonjour

    J'ai un tableau avec un contenu (A1:F30)
    Je souhaite écrire une boucle qui va lire le contenu de chaque cellules une à une.
    Si le contenu est valable selon un critère, je le recopie dans une autre feuille.

    Mon problème est que je ne sais pas comment mettre les lettres des colonnes en variable . => Range(VarCol & VarLigne).Select.

    Merci pour votre aide & Bonne année !!!!

  2. #2
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    Bonjour,

    utilise Cells ... et tu n'oublie pas de préciser la feuille concernée ... pas besoin de select aussi

    par exemple pour écrire en A2 feuille1 du classeur contenant ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkBook.WorkSheets("Feuille1").Cells(2,1) = "ICI"

  3. #3
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour Bbil,eric,
    excuses-moi, Bbil, j'avais préparé
    Un test à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub laboucle()
    Dim cel As Range, Plg As Range
    Set Plg = Range("A1:F30")
    For Each cel In Plg
      If cel = "toto" Then MsgBox "Vrai / " & cel.Address
    Next cel
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci casefayere,

    Ça marche mais je souhaite utiliser une variable pour remplacer le A,B,C.... car dans ma boucle je dois incorporer des conditions de sauts de boucle et recopier plusieurs cellules

    Merci pour ton aide

  5. #5
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Alors avec la réponse de Bbil, tu devrais pouvoir adapter, passer par "Cells" au lieu de "Range", sachant que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(VarLigne,VarCol )
    on donne déjà la ligne et 2ème chiffre la colonne, varligne et varcol étant des "Integer" ou des "Long"
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une autre façon de parcourir une plage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Read()
     Dim c As Range
     For Each c In ThisWorkbook.Worksheets("Feuil1").Range("A1:F10")
      With c
       Debug.Print .Address & " - " & .Value
      End With
     Next
    End Sub
    [EDIT]
    S'il s'agit de recopier toutes les lignes de la liste de données répondant à des critères, je ne peux que te conseiller l'utilisation du filtre avancé d'excel.
    En VBA, c'est une ligne d'instruction après avoir défini les zones de données, de critères et d'exportation
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par casefayere Voir le message
    Alors avec la réponse de Bbil, tu devrais pouvoir adapter, passer par "Cells" au lieu de "Range", sachant que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(VarLigne,VarCol )
    on donne déjà la ligne et 2ème chiffre la colonne, varligne et varcol étant des "Integer" ou des "Long"
    Ok... Super... Merci !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/08/2008, 18h27
  2. la methode select de la classe range a échoué
    Par shrekos007 dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 26/05/2007, 15h51
  3. [VBA-E] incompatibité de type dans selection de rangées
    Par lucarno dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/05/2007, 08h01
  4. [VBA-E] selection de plusieurs rangés avec des cellules définies
    Par noir_desir dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 24/02/2007, 14h26
  5. [VBA-W] Trouver le numero de Page d'une Selection (range)
    Par SfJ5Rpw8 dans le forum Contribuez
    Réponses: 2
    Dernier message: 08/09/2006, 19h34

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