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 comment écrire : colonne contient une valeur


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    agro
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Aube (Champagne Ardenne)

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

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut VBA comment écrire : colonne contient une valeur
    Bonjour,
    Comment je peux écrire en VBA : Si la colonne I contient la valeur d'une cellule ou d'une autre ?
    Pour être plus claire : voici ce que j'essaie de faire : lorsque ma valeur de la colonne C est supérieur à 0.125 et que l'une des deux valeurs des colonnes A et B à la ligne i correspondante est déjà dans la colonne I, je veux inscrire l'autre valeur dans la colonne I aussi.

    Voilà ce que j'ai commencé à écrire:

    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
    Sub regroup()
     
    Dim i As Long
     
    Range("I3").Select
     
    For i = 2 To 2486
        If Cells(i, 3).Value > 0.125 And columns(I:I) contient cells(i,2) ou Cells(i,1)  Then
        ActiveCell.Value = Cells(i, 1).Value
        ActiveCell.Offset(1, 0).Select
        ActiveCell.Value = Cells(i, 2).Value
        End If
    Next i
     
    End Sub
    Voilà, si quelqu'un peut déjà me dire comment traduire mon "contient" ça m'aiderait beaucoup !

  2. #2
    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 : 70
    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,
    ton code n'est pas clair, je traduis :
    tu parcoures la colonne C pour trouver la 1ère valeur supérieure à 0.125, dès que tu la trouves
    si en col A de la même ligne, une même valeur est trouvée en col I, que fais-tu ?
    ou
    si en col B de la même ligne, une même valeur est trouvée en col I, que fais-tu ?

  3. #3
    Candidat au Club
    Femme Profil pro
    agro
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Aube (Champagne Ardenne)

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

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Si l'une de mes valeurs en A ou en B est contenue dans ma colonne I je veux ajouter celle qui n'y est pas contenue. Si aucune de mes valeurs n'est contenue je veux passer à la ligne suivante.

    Je ne sais pas si c'est possible de faire ça (je suis novice en VBA)

    merci de votre aide

  4. #4
    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 : 70
    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
    je veux ajouter celle qui n'y est pas contenue
    je ne comprends toujours pas, tu veux ajouter ou ? en I ? si oui, sur quelle ligne ?

    il faut des explications précises, ton code ne m'aide pas à deviner surtout avec tes "select" lesquels, je le parie, sont inutiles

  5. #5
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par renartichaud Voir le message
    Si l'une de mes valeurs en A ou en B est contenue dans ma colonne I
    Pour savoir si une valeur se trouve dans une zone, utilise la méthode Find de l'objet Range.

    Je conseille très fortement de ne pas mettre une colonne entière comme Range parce que la recherche risque de prendre du temps inutilement. Essayer de border la zone de recherche.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut cela devrait marcher
    Bonsoir,
    cette macro boucle sur 2486 lignes
    et pour chaque ligne, récupère le tout de la colonne a et b
    dans ce cas on a tout les cas et si il n'y a rien elle n'écrit rien et donc on passe
    à la ligne suivante.
    peut faut-il inserer un espace entre les les valeurs ?
    a tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Tamacro()
    For L = 2 To 2486
    If Cells(L, 3).Value > "0.125" Then
    For C = 4 To 256
     Cells(L, C).Value = Cells(L, 1) & Cells(L, 2)
    Next C
    End If
    Next L
    End Sub

  7. #7
    Candidat au Club
    Femme Profil pro
    agro
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Aube (Champagne Ardenne)

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

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci, je vais essayer avec vos solutions !
    Merci de votre aide

  8. #8
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Bonjour, bonjour !

    Avant de se lancer dans de la p'tite usine à gaz en VBA du genre boucler sur toutes les lignes
    (la méthode Find étant quand même plus rapide !),
    se poser déjà la question si une fonction de feuille de calculs peut le faire ?

    Et dans ce cas la réponse est oui : NB.SI par exemple …

    Facilement utilisable en VBA via la méthode Evaluate ou encore via les propriétés WorksheetFunction et Application

Discussions similaires

  1. [XL-2007] Msgbox avant la fermeture si une colonne contient une valeur texte précise
    Par Thomas.lp dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/02/2013, 13h26
  2. Réponses: 2
    Dernier message: 21/02/2007, 20h04
  3. [VBA] Fusionner plusieurs colonnes en une seule
    Par brutos2 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/01/2006, 15h25
  4. Vérifier si un champ contient une valeur
    Par slammer dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/01/2006, 17h40
  5. [VBA] Trier les colonnes d'une listview
    Par alncool dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/09/2005, 15h12

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