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 :

Macro si + concaténation [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2019
    Messages : 9
    Par défaut Macro si + concaténation
    Bonjour à tous,

    Je pense que certaines personnes sur ce forum seront capables de m'aider.

    Voilà mon problème :

    Je dois réaliser une concaténation de plusieurs colonnes et mon fichier étant déjà très lourd, j'aimerai que ce soit fait par macro.
    L'idée est simple mais je ne sais pas comment écrire la macro.

    En fonction de ce qui est écrit dans la colonne F, la concaténation change.
    Par exemple, s'il est écrit "FF", alors il faut faire la concaténation de la colonne G et K
    S'il est écrit "OF", il faut faire la concaténation de la colonne H et K
    S'il est écrit "SS", il faut faire la concaténation de la colonne I et K

    Comme vous le voyez, selon la colonne F, il faut concaténer différentes colonnes. Et cela sur toutes les lignes de la Base de Données.

    Pouvez-vous m'aider ?

    Merci par avance

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Nicolas, bonjour le forum,

    Concaténer d'accord mais où , dans quelle colonne ?!...

  3. #3
    Membre habitué
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2019
    Messages : 9
    Par défaut
    Bonjour Thauthème

    en effet je suis idiot je ne l'ai pas précisé.
    Il faudrait concaténer dans la colonne A

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    à tester sur une copie de ton travail
    NB :
    - j'ai mis un peu d'espace entre la valeur des deux colonne lors de la concaténation
    - La colonne F égale "FF" et non pas contient

    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
    Sub test()
    Dim F As Worksheet
    Dim derligne As Long
    Dim I As Integer
    Set F = Sheets("Feuil1") ' à adaoter
    Application.ScreenUpdating = False
    With F
    derligne = .Cells(Rows.Count, 11).End(xlUp).Row ' déterminer le dernière ligne non vide de la colonne K
    For I = 2 To derligne ' à titre d'exemple commencer par deuxieme ligne
    If .Cells(I, 6) = "FF" Then .Cells(I, 1) = .Cells(I, 7) & "  " & .Cells(I, 11)
    If .Cells(I, 6) = "OF" Then .Cells(I, 1) = .Cells(I, 8) & "  " & .Cells(I, 11)
    If .Cells(I, 6) = "SS" Then .Cells(I, 1) = .Cells(I, 9) & "  " & .Cells(I, 11)
     
    Next I
    End With
    Application.ScreenUpdating = True
    End Sub

  5. #5
    Membre habitué
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2019
    Messages : 9
    Par défaut
    Bonjour BENNAS

    ton code marche parfaitement.
    je dois simplement enlever le End if sinon j'obtiens un message d'erreur.
    Je trouve ça étrange d'avoir une macro avec des IF sans End If mais cela semble marcher

  6. #6
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    j'ai déja enlevé le end if de mon message
    si le IF et THEN sur la même ligne y a pas de END IF
    Bonne continuation

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

Discussions similaires

  1. [XL-2016] Macro pour concaténer des cellules
    Par Alb-Nicolas dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/01/2020, 09h14
  2. Macros de concaténation de différentes informations
    Par lifestar dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 10/03/2019, 14h36
  3. Macro de concaténation
    Par ElPibeOro dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/05/2013, 13h51
  4. Macro Excel - concaténer des filtres
    Par needyou dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 30/06/2010, 15h34
  5. Réponses: 11
    Dernier message: 11/07/2008, 14h58

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