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 :

Concaténer résultats d'une colonne A sur condition d'une colonne B [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    xxx
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : xxx

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Concaténer résultats d'une colonne A sur condition d'une colonne B
    Bonjour,

    Dans une "feuille1" j'ai une liste de textes uniques. En face de cette cellule, dans la colonne d'à côté, une liste de noms séparées par un retour à la ligne.
    J'ai appelé ce tableau "Data" dans le gestionnaire de noms.
    Nom : Image1.png
Affichages : 812
Taille : 5,8 Ko

    Dans une "feuille2", c'est l'inverse que je voudrais obtenir... La colonne jaune doit se compléter automatiquement.
    J'ai appelé ce tableau "Resultat" dans le gestionnaire des noms
    Nom : Image2.png
Affichages : 729
Taille : 4,9 Ko

    Il faudrait que j'arrive à faire une formule pour :
    1/ rechercher sur la ligne 1 du tableau "Data" le texte en D2 (feuille2) (Parmis les autres textes)
    2/ si le texte est trouvé, me recopier la valeur de la colonne A en face (ici "Texte A" à écrire en E2)
    3/ continuer à recherche à la ligne suivante et concaténer tous les textes en face du mot "Toto"

    Je pense que l'idéal pour simplifier serait de mettre cette macro dans une formule, que je "tirerais" en E3, E4 et E5.
    Et d'appeler dans la formule mes noms de champs prédéfinis (Data et Resultat)
    Mais peut être que je me trompe?

    Quelqu'un aurait un début de macro à me suggérer?

    En fait j'ai essayé de traiter ce problème par formule sans passer par VBA (avec des rechercheV, des &, des si....), ça fonctionne, mais je suis limitée en nombre de tests... et mes tableaux sont très gros

  2. #2
    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 677
    Points
    18 677
    Par défaut
    Bonjour !

    Parmi les différentes possibilités, voir la méthode Range.Find dans l'aide VBA et son exemple …

    Poster le début du code entrepris et balisé via l'icône #, merci.

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    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
    Je suis à peu près sûr que ça doit être possible à faire avec une fonction matriciel mais les traitement de chaînes dans ce domaine dépassent un peu mes compétences.

    Voici donc une fonction en VBA.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function CONCASI(PlageTest As Range, PlageData As Range, Critere As String) As String
    Dim Lig As Long
     
    If PlageTest.Count <> PlageDate Then CONCASI = "###" : Exit Function
     
    CONCASI = ""
    For Lig=1 to PlageTest.Count Then
        If InStr(PlageTest.Item(Lig).Value, Critere) > 0 Then CONCASI = CONCASI & PlageData.Item(Lig).Value
    Next Lig
    End Function
    A utiliser de la façon suivante :
    En E2 de feuille2 mettre la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CONCASI(feuille1!B$2:B$7;feuille1!A$2:A$7;D2)
    Recopier E2 vers le bas autant que nécessaire.

    Je n'ai pas testé. Il se pourrait donc qu'il y ait un peu de débugage.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut
    Bonsoir,

    voixi ma proposition ...

    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
    Sub Zyva()
      Dim oCell As Range
      Dim oCellS As Range
      Dim sText As String
      Dim sRecup As String
      Dim i As Long
      i = 0
      Worksheets("Feuil2").Select
      For Each oCell In Range(Range("A2"), Range("A" & Range("A1").CurrentRegion.Rows.Count))
        sRecup = ""
        sText = oCell
        Worksheets("Feuil1").Select
        For Each oCellS In Range(Range("B2"), Range("B" & Range("A1").CurrentRegion.Rows.Count))
          If VBA.InStr(1, oCellS, oCell) > 0 Then
            If i > 0 Then
              sRecup = sRecup & Chr(10)
            End If
            sRecup = sRecup & oCellS.Offset(0, -1)
            i = i + 1
          End If
        Next
        oCell.Offset(0, 1) = sRecup
      Next
     
     
    End Sub
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    J'ose à peine dire (aussi le dirai-je du bout des lèvres) qu'une simple décision de conception affranchit totalement de telles difficultés finalement génératrices de lenteurs induites.
    Tu en rencontres une aujourd'hui. Tu en rencontreras peut-être une autre demain, toujours en raison de la même cause !
    Alors que tout deviendrait tellement plus simple à gérer si chacune des cellules de chaque "bloc" de la colonne A contenait le texte correspondant à "truc x" et que ce texte serait affiché en police de couleur du fond de chaque cellule, sauf pour la seule à "afficher" (à rendre "visible", donc).

    Prenons pour exemple les cellules A2 et B2 de ton image :
    Tout serait tellement plus simple (et collerait tellement mieux à l'esprit même d'un tableur) si tu utilisais 2 lignes (2, et 3,) donc, avec
    en A2 : "toto" en noir sur blanc, en B2 "Texte A", en A3 "toto" en blanc sur blanc et en B3 "Texte F" !

    Tout est tellement plus facile lorsqu'à chacune des cellules/valeurs ne correspond qu'une seule cellule/valeur.
    Garder à l'esprit ce qu'est avant tout un TABLEUR. Sa vocation principale n'est pas celle d'une présentation des données.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  6. #6
    Membre à l'essai
    Femme Profil pro
    xxx
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : xxx

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    MERCI beaucoup pour toutes vos contributions, il va me falloir un peu de temps pour les tester et les comprendre !
    Je reviens vers vous dès que c'est fait !

    unparia tu n'as pas tort, mais il y a énormément d'autres informations dans mes lignes, et les dupliquer toutes 10, 20 fois en fonction de cette seule case ne me paraissait pas être la solution idéale (au moins lors de la création - manuelle - du tableau). Là il s'agit de présenter quelques résultats

    Néanmoins, pour d'autres traitement des données, je vais tâcher d'effectivement trouver un moyen de tout dédoubler automatiquement pour pour faciliter le traitement. (ça m'inquiète déjà )

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Tu payes tout simplement cher la priorité que tu as donnée à l'aspect visuel plutôt qu'à l'efficacité du tableur.
    Néanmoins, pour d'autres traitement des données, je vais tâcher d'effectivement trouver un moyen de tout dédoubler automatiquement pour pour faciliter le traitement. (ça m'inquiète déjà
    Ce n'est pas si difficile. Voici la méthode :
    Parcourir de bas en haut la colonne B
    -- pour chaque élément :
    ---- relever ce qu'il y a en colonne A dans une variable toto
    ---- l'éclater(Split) par rapport au caractère 10 ( chr(10) )
    ------- pour chaque élément de cet éclatement (sauf le 1er) : ajouter une ligne et y mettre en colonne A la valeur de toto en blanc sur blanc et en colonne B la valeur de l'élément correspondant de l'éclatement
    Vas-y et montre ce que tu as tenté, si non succès. Je t'aiderai au vu de ton effort.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  8. #8
    Membre actif Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Points : 236
    Points
    236
    Par défaut
    Salut Unparia

    Citation Envoyé par unparia Voir le message
    Ce n'est pas si difficile.
    Ce qui est simple pour certains ne l'est pas obligatoirement pour les autres !

    A chacun ses spécialités et ses façons de raisonner.

    Bonne journée
    Joël GARBE
    Fouillez bien, vous trouverez (ou pas !)

  9. #9
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Citation Envoyé par EBRAG Voir le message
    Bonjour,
    La "manière de raisonner" a été indiquée.
    Il n'y a pas ici de "spécialités", mais une spécificité : le développement. Il est d'ailleurs clairement le sujet de ce forum.
    Je conçois que "ce qui est simple pour certains ne l'est pas obligatoirement pour les autres"
    Ce qui n'empêche en aucun cas de s'y mettre et de montrer son effort.
    Je réitère donc ce que j'ai dit plus haut. J'aiderai avec plaisir, dès qu'il m'aura montré son effort sur les bases que je lui ai indiquées, le développeur qui est venu demander de l'aide sur ce forum de développeurs.
    Il se peut que tu voies les choses autrement. Moi, c'est ainsi, que je les vois.
    Amitiés.

    A EPRAG : pour ton information :
    Je viens donc de mettre en oeuvre très exactement (et très rapidement) ce que j'ai demandé que l'on mette en oeuvre.
    J'en ai respecté le mécanisme
    Il ne m'a fallu que 10 petites lignes de code qui n'utilisent que ce que j'ai dit (une boucle de bas en haut, la fonction Split et la méthode Insert).
    Le reste (l'utilisation de cela, n'a été qu'application de l'arithmétique).
    Tu voudras dans ces conditions bien comprendre que j'attends que le demandeur tente au moins de le faire seul.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  10. #10
    Membre à l'essai
    Femme Profil pro
    xxx
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : xxx

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Coucou !

    Je vais TRES lentement, veuillez m'en excuser !

    PS : effectivement vu mon niveau pour le moment les "10 petites lignes" d'unparia me semblent difficiles à réaliser !
    Mais promis j'essaie dès que mon problème n°1 est résolu !

    Pour le moment j'en suis à l'étape tester & comprendre la solution de Menhir (qui m'avait l'air la plus simple ^^)

    - J'ai enlevé le "Then" car ça faisait bugguer le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lig = 1 To PlageTest.Count Then
    Nom : concasi.png
Affichages : 669
Taille : 16,3 Ko

    - Je ne comprend pas le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If PlageTest.Count <> PlageDate Then CONCASI = "###": Exit Function
    Du coup je l'ai enlevé.

    Mes deux tableaux ne sont pas du tout liés en fait, ils ont un nombre d'entrées indépendants.
    Si je laisse le test j'ai 99% de chances de sortir de la fonction avant d'avoir fait la compilation.

    Donc là, ça y est, ça fonctionne !

    Résultat dans la colonne :
    Texte ATexte F
    Texte ATexte DTexte E
    Texte ATexte B
    Texte D

    J'ai juste rajouté un "aller à la ligne" à la formule de concaténation : & vbLf
    Pour que ce soit plus lisible

    ça marche nickel, sauf le vilain dernier saut à la ligne dont je me passerais bien, mais bon, c'est du détail...
    A moins que vous ne sachiez comment dire à VBA de me supprimer juste de dernier & vbLf de la liste ?

    J'attaque le problème numéro 2 du coup !

  11. #11
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Tu ferais bien de t'attaquer une fois pour toutes à la cause, plutôt que de t'en prendre aux effets.

    Allez ! La pêche (et le froid, hélas) m'attend --->>

    Regarde, dans cette optique, ce que fait ceci :

    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
    Application.ScreenUpdating = False
    DL = Range("B" & Rows.Count).End(xlUp).Row
    For i = DL To 1 Step -1
      toto = Range("A" & i).Value
      titi = Split(Range("B" & i).Value, Chr(10))
        For k = UBound(titi) To 1 Step -1
           Rows(i + 1).Insert
           Range("A" & i + 1).Value = toto
           Range("A" & i + 1).Font.Color = Range("A" & i + 1).Interior.Color 'vbWhite
           Range("B" & i + 1).Value = titi(k)
        Next
        Range("B" & i).Value = titi(0)
        Range("A" & i).Value = toto
    Next
    Application.ScreenUpdating = True
    Que tu peux même modifier ainsi pour améliorer le repérage visuel :


    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
    Application.ScreenUpdating = False
    DL = Range("B" & Rows.Count).End(xlUp).Row
    For i = DL To 1 Step -1
      toto = Range("A" & i).Value
      titi = Split(Range("B" & i).Value, Chr(10))
        For k = UBound(titi) To 1 Step -1
           Rows(i + 1).Insert
           If i Mod 2 = 0 Then
              Rows(i + 1).Interior.Color = RGB(255, 240, 240)
              Rows(i).Interior.Color = RGB(255, 240, 240)
           Else
               Rows(i + 1).Interior.Color = RGB(240, 255, 240)
               Rows(i).Interior.Color = RGB(240, 255, 240)
           End If
           Range("A" & i + 1).Value = toto
           Range("A" & i + 1).Font.Color = Range("A" & i + 1).Interior.Color 'vbWhite
           Range("B" & i + 1).Value = titi(k)
        Next
        Range("B" & i).Value = titi(0)
        Range("A" & i).Value = toto
    Next
    Application.ScreenUpdating = True
    Et tu en auras ainsi fini avec le mal lui-même, tant dans l'immédiat que pour tous les travaux futurs sur ces données.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  12. #12
    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 LizLisonLisette Voir le message
    - J'ai enlevé le "Then" car ça faisait bugguer le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lig = 1 To PlageTest.Count Then
    - Je ne comprend pas le test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If PlageTest.Count <> PlageDate Then CONCASI = "###": Exit Function
    Du coup je l'ai enlevé.
    J'aurais du faire plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If PlageTest.Count <> PlageDate Then 
        CONCASI = "###"
        Exit Function
    End If
    Il permets de vérifier que les deux plages fournies (critère et données) sont de même taille et, si ce n'est pas le cas, de renvoyer ### sans aller plus loin.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  13. #13
    Membre à l'essai
    Femme Profil pro
    xxx
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : xxx

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Après une petite absence je m'y remet...

    unparia.... MERCI !
    Elle est au top cette macro !!

    J'ai des données à séparer dans la colonne B et dans la colonne A en réalité...
    Mais du coup je vais essayer de l'appliquer dans un sens (étape 1), et puis dans l'autre sens (étape 2)...!

    Et le mal sera vaincu :-)

    Nom : vba.png
Affichages : 642
Taille : 7,4 Ko

  14. #14
    Membre à l'essai
    Femme Profil pro
    xxx
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : xxx

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Il y a quand même un truc que j'arrive pas à faire dans la personnalisation de cette macro...

    Comment faire pour remplacer l'insertion d'une ligne par l'insertion de juste deux cellules (une en A et une en B) ?
    J'ai essayé de bidouiller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cell("A" & i + 1).Insert
    Cell("B" & i + 1).Insert
    à la place du :
    Mais ça ne fonctionne pas vraiment

    Nom : vba_help.png
Affichages : 614
Taille : 6,4 Ko

    Une idée ?

    PS : ça ne fonctionne pas avec "Cells" non plus... (Argument ou appel de procédure incorrect)...

  15. #15
    Membre à l'essai
    Femme Profil pro
    xxx
    Inscrit en
    Novembre 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : xxx

    Informations forums :
    Inscription : Novembre 2015
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    Hey !
    Pour info, ça a fini par fonctionner avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
           Range("A" & i + 1).Insert
           Range("B" & i + 1).Insert
    Bonne journée,

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

Discussions similaires

  1. [LibreOffice][Tableur] Macro: colorer une ligne sur condition dans une macro?
    Par vandman dans le forum OpenOffice & LibreOffice
    Réponses: 5
    Dernier message: 17/09/2015, 09h04
  2. Réponses: 6
    Dernier message: 24/05/2014, 12h38
  3. Réponses: 6
    Dernier message: 07/05/2014, 09h04
  4. Réponses: 4
    Dernier message: 24/01/2012, 16h39
  5. Réponses: 6
    Dernier message: 21/05/2006, 20h37

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