Concatener plusieurs cellules, avec une variable quand aux cellules
Fermé
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
-
11 sept. 2021 à 12:02
DjiDji59430 Messages postés 4167 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 27 décembre 2024 - 14 sept. 2021 à 23:57
DjiDji59430 Messages postés 4167 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 27 décembre 2024 - 14 sept. 2021 à 23:57
A voir également:
- Concatener plusieurs cellules, avec une variable quand aux cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Concatener deux cellules excel - Guide
- Verrouiller cellules excel - Guide
- Aller à la ligne dans une cellule excel - Guide
7 réponses
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 454
Modifié le 11 sept. 2021 à 16:17
Modifié le 11 sept. 2021 à 16:17
DjiDji59430
Messages postés
4167
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 décembre 2024
682
11 sept. 2021 à 16:19
11 sept. 2021 à 16:19
Bonjour à tous,
Une proposition :
https://www.cjoint.com/c/KIlosz8z2BY
Crdlmt
Une proposition :
https://www.cjoint.com/c/KIlosz8z2BY
Crdlmt
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
12 sept. 2021 à 11:13
12 sept. 2021 à 11:13
Bonjour DjiDji59430,
Je me suis penché sur ta formule "TRANSPOSE/DECALER", et bien que je n'en saisisse pas toute la subtilité (ça va venir, je me fais confiance) je chercherais, (du coup on en veut toujours plus...), à y ajouter une condition "si contient ") LF", alors rien"...
Mais je ne sais pas trop où ajouter le § si(nb.si(D3;"*) LF*";"") §.
Du coup, je tatonne, mais la méthode de la découverte donne parait-il de bons résultats.
Encore merci
Je me suis penché sur ta formule "TRANSPOSE/DECALER", et bien que je n'en saisisse pas toute la subtilité (ça va venir, je me fais confiance) je chercherais, (du coup on en veut toujours plus...), à y ajouter une condition "si contient ") LF", alors rien"...
Mais je ne sais pas trop où ajouter le § si(nb.si(D3;"*) LF*";"") §.
Du coup, je tatonne, mais la méthode de la découverte donne parait-il de bons résultats.
Encore merci
DjiDji59430
Messages postés
4167
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 décembre 2024
682
>
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
12 sept. 2021 à 11:39
12 sept. 2021 à 11:39
"si contient ") LF", alors rien"...
Où ça, soit plus précis, donne un exemple
Crdlmt
Où ça, soit plus précis, donne un exemple
Crdlmt
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
>
DjiDji59430
Messages postés
4167
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 décembre 2024
12 sept. 2021 à 14:04
12 sept. 2021 à 14:04
Salut,
Dans ton fichier, à partir de la colonne E, tu reprends, cellule après cellule au sein de la ligne, chaque ligne de la colonne D.
C'est exactement ce que je cherchais à faire, mais du coup, il arrive qu'il y ai des données qui ne m'interesse pas (le "A) LFCT" de la cellule D3) par exemple, mais qui n'apparaissent pas systématiquement dans chaque paragraphe.
Du coup, j'essaie de modifier ta formule
=SI(ET($C3=$B3;D3<>"");TRANSPOSE(DECALER($D3;0;0;NB.SI($C$2:$C$8116;$C3);1));"")
en SI D* contient ") LF"; n'affiche rien; sinon applique la formule.
Le gros soucis de mon projet, c'est que je pars de données aéronautiques quotidiennes, dont je ne maitrise pas le formatage, qui ne sont pas systématiquement identiques, et dont chaque paragraphe contient des informations dont je peux avoir, ou non, besoin.
L'idée est de pouvoir regrouper sur une ligne, et, par la suite, de faire le tri dans les colonnes...
Cdlt
Dans ton fichier, à partir de la colonne E, tu reprends, cellule après cellule au sein de la ligne, chaque ligne de la colonne D.
C'est exactement ce que je cherchais à faire, mais du coup, il arrive qu'il y ai des données qui ne m'interesse pas (le "A) LFCT" de la cellule D3) par exemple, mais qui n'apparaissent pas systématiquement dans chaque paragraphe.
Du coup, j'essaie de modifier ta formule
=SI(ET($C3=$B3;D3<>"");TRANSPOSE(DECALER($D3;0;0;NB.SI($C$2:$C$8116;$C3);1));"")
en SI D* contient ") LF"; n'affiche rien; sinon applique la formule.
Le gros soucis de mon projet, c'est que je pars de données aéronautiques quotidiennes, dont je ne maitrise pas le formatage, qui ne sont pas systématiquement identiques, et dont chaque paragraphe contient des informations dont je peux avoir, ou non, besoin.
L'idée est de pouvoir regrouper sur une ligne, et, par la suite, de faire le tri dans les colonnes...
Cdlt
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
>
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
12 sept. 2021 à 15:11
12 sept. 2021 à 15:11
Bonjour,
si cela peut aider, voici une macro qui va supprimer les "A) LFCT et descendre de 2 lignes le contenu de la colonne B pour l'aligner avec la colonne C:
@+ Le Pivert
si cela peut aider, voici une macro qui va supprimer les "A) LFCT et descendre de 2 lignes le contenu de la colonne B pour l'aligner avec la colonne C:
Option Explicit Sub For_X_to_Next_Ligne() Dim FL1 As Worksheet, NoCol As Integer Dim NoLig As Long, Var As Variant Set FL1 = Worksheets("Feuil1") NoCol = 3 'lecture de la colonne C For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4) Var = FL1.Cells(NoLig, NoCol) If Left(Var, 2) = "A)" Then FL1.Cells(NoLig, NoCol).ClearContents 'supprime A) FL1.Cells(NoLig + 2, NoCol - 1).Value = FL1.Cells(NoLig, NoCol - 1).Value 'descend 2 lignes colonne B FL1.Cells(NoLig, NoCol - 1).ClearContents End If Next Set FL1 = Nothing End Sub
@+ Le Pivert
DjiDji59430
Messages postés
4167
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 décembre 2024
682
>
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
12 sept. 2021 à 15:59
12 sept. 2021 à 15:59
et que devient
MEASURE MAST AT LEZAY RDL259/9.2NM LF DV ARP :
de la ligne 14 ??
MEASURE MAST AT LEZAY RDL259/9.2NM LF DV ARP :
de la ligne 14 ??
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 454
11 sept. 2021 à 18:24
11 sept. 2021 à 18:24
Bonjour,
Merci, la proposition de DjiDji59430 devrait vous convenir.
Merci, la proposition de DjiDji59430 devrait vous convenir.
DjiDji59430
Messages postés
4167
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 décembre 2024
682
13 sept. 2021 à 19:02
13 sept. 2021 à 19:02
Bonjour à tous,
J'ai éliminé les "mauvais" LF, mais il restait des A) EGJB
Du coup, j'élimine les A)espace
https://www.cjoint.com/c/KInrazp0taY
Crdlmt
J'ai éliminé les "mauvais" LF, mais il restait des A) EGJB
Du coup, j'élimine les A)espace
https://www.cjoint.com/c/KInrazp0taY
Crdlmt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
11 sept. 2021 à 17:58
11 sept. 2021 à 17:58
Bonjour messieurs,
Je répond rapidement (je suis au boulot, SAMU hélico, et en préalerte pour une intervention...)
Effectivement, ce que j'ai rapidement regardé de vos 2 réponses semble combler mon souhait...
Je regarde plus en détail au plus vite, et je reviens vers vous dès que possible.
Merci beaucoup.
Je répond rapidement (je suis au boulot, SAMU hélico, et en préalerte pour une intervention...)
Effectivement, ce que j'ai rapidement regardé de vos 2 réponses semble combler mon souhait...
Je regarde plus en détail au plus vite, et je reviens vers vous dès que possible.
Merci beaucoup.
Bonsoir,
Pardon pour tout à l'heure, la journée d'astreinte a commencé très (trop?) calmement, et tout s'est enchainé rapidement.
C'est terminé pour aujourd'hui, je vais pouvoir me pencher plus avant sur la proposition de DjiDji59430, que je remercie chaleureusement, de même que Le Pingou, pour vos aides rapides.
Je vais maintenant m'attaquer a comprendre les différentes formules et continuer sur cette lancer pour pouvoir, étape par étape, arriver au .csv qui sera exploitable pour moi dans mon appli de navigation et dans mes SIG.
Encore merci et bonne soirée.
PS, si vous passez dans le secteur d'Amiens (80) ou d'Orthez (64), prévenez moi...Si possible, nous partagerons un café/bière/soda (au choix) ensemble.
Stéphane
Pardon pour tout à l'heure, la journée d'astreinte a commencé très (trop?) calmement, et tout s'est enchainé rapidement.
C'est terminé pour aujourd'hui, je vais pouvoir me pencher plus avant sur la proposition de DjiDji59430, que je remercie chaleureusement, de même que Le Pingou, pour vos aides rapides.
Je vais maintenant m'attaquer a comprendre les différentes formules et continuer sur cette lancer pour pouvoir, étape par étape, arriver au .csv qui sera exploitable pour moi dans mon appli de navigation et dans mes SIG.
Encore merci et bonne soirée.
PS, si vous passez dans le secteur d'Amiens (80) ou d'Orthez (64), prévenez moi...Si possible, nous partagerons un café/bière/soda (au choix) ensemble.
Stéphane
tacounet
Messages postés
28
Date d'inscription
vendredi 23 mars 2018
Statut
Membre
Dernière intervention
22 octobre 2022
Modifié le 14 sept. 2021 à 21:00
Modifié le 14 sept. 2021 à 21:00
Bonsoir DjiDji59430, bonsoir à tous.
Un immense merci pour le document. Comment puis-je obtenir une traduction de la formule utilisée? Car j'avoue humblement, je n'y comprends rien.
J'essaie de partir de votre document initial, pour l'adapter de manière "pérenne" à mon besoin.
Comme expliqué plus haut, je récupère quotidiennement (quand je suis de service) des données aéronautiques qui se présentent, après un copier/coller judicieux, sous la forme que j'ai transmis.
Je fais un premier copier/coller entre le site d'informations, et une feuille de mon document excel, et je voudrais via formule, que votre feuille aille chercher, dans la feuille d'à coter, les données de la colonne B (ref) et de la colonne D (texte).
Ca, c'est bon, j'y arrive. Mais au bout d'un certain nombre de lignes (la 417 pour être précis) les cellules D417, E417, F417... me renvoient systématiquement la cellule C417.
Je pense que cela fonctionne avec une logique "en ligne", alors que j'ai plutôt tendance à raisonner "en colonne".
Je vais reprendre à zéro (enfin presque) en m'appuyant sur votre nouvelle feuille de calcul
Encore mille mercis.
Bonne soirée
Un immense merci pour le document. Comment puis-je obtenir une traduction de la formule utilisée? Car j'avoue humblement, je n'y comprends rien.
J'essaie de partir de votre document initial, pour l'adapter de manière "pérenne" à mon besoin.
Comme expliqué plus haut, je récupère quotidiennement (quand je suis de service) des données aéronautiques qui se présentent, après un copier/coller judicieux, sous la forme que j'ai transmis.
Je fais un premier copier/coller entre le site d'informations, et une feuille de mon document excel, et je voudrais via formule, que votre feuille aille chercher, dans la feuille d'à coter, les données de la colonne B (ref) et de la colonne D (texte).
Ca, c'est bon, j'y arrive. Mais au bout d'un certain nombre de lignes (la 417 pour être précis) les cellules D417, E417, F417... me renvoient systématiquement la cellule C417.
Je pense que cela fonctionne avec une logique "en ligne", alors que j'ai plutôt tendance à raisonner "en colonne".
Je vais reprendre à zéro (enfin presque) en m'appuyant sur votre nouvelle feuille de calcul
Encore mille mercis.
Bonne soirée
DjiDji59430
Messages postés
4167
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
27 décembre 2024
682
14 sept. 2021 à 23:57
14 sept. 2021 à 23:57
Bonsoir,
=SI(ET(LC3=LC2;LC(-1)<>"");SI(ESTERREUR(CHERCHE("A) ";LC(-1)));TRANSPOSE(DECALER(LC4;0;0;NB.SI(L2C3:L8116C3;LC3);1));TRANSPOSE(DECALER(L(1)C4;0;0;NB.SI(L2C3:L8116C3;LC3)-1;1)));"")
La colonne(1) ajoutée permet de mesurer le nombre de lignes entre 2 ref. C'est ce nombre qui détermine la longueur de la plage créée par décaler. Cette plage verticale est transposée en plage horizontale par la fonction transpose.
Reste le A)espace
la fonction cherche regarde dans la première cellule (colonne E) si cette occurrence existe, sinon, elle renvoie "erreur".
Si c'est vrai, la plage verticale va commencer une cellule plus bas (D3==>D4) et sa longueur sera diminuée de 1, (;NB.SI(L2C3:L8116C3;LC3)-1) sinon, on transpose toute la plage.
Crdlmt
=SI(ET(LC3=LC2;LC(-1)<>"");SI(ESTERREUR(CHERCHE("A) ";LC(-1)));TRANSPOSE(DECALER(LC4;0;0;NB.SI(L2C3:L8116C3;LC3);1));TRANSPOSE(DECALER(L(1)C4;0;0;NB.SI(L2C3:L8116C3;LC3)-1;1)));"")
La colonne(1) ajoutée permet de mesurer le nombre de lignes entre 2 ref. C'est ce nombre qui détermine la longueur de la plage créée par décaler. Cette plage verticale est transposée en plage horizontale par la fonction transpose.
Reste le A)espace
la fonction cherche regarde dans la première cellule (colonne E) si cette occurrence existe, sinon, elle renvoie "erreur".
Si c'est vrai, la plage verticale va commencer une cellule plus bas (D3==>D4) et sa longueur sera diminuée de 1, (;NB.SI(L2C3:L8116C3;LC3)-1) sinon, on transpose toute la plage.
Crdlmt