Concaténation et Saut de formule incomplète

Bonjour,

Je suis peu aguerri sur Excel et vous prie de m'excuser si mes questions paraissent triviales. J'ai pris soin de chercher auparavant mais n'ai pas trouvé de question correspondant exactement à ce que je recherche.

Je vous explique.

J'ai donc une feuille Excel avec - pour résumer brièvement - une concaténation en horizontal pour chaque ligne sur la colonne "J".

(exemple : en J1 j'ai "A1&B1&C1&D1" etc.) (enfin c'est un peu plus compliqué, mais cela revient globalement simplement à ça.)

Je voudrais faire une concaténation cette fois ci VERTICALE, tout en bas de la colonne "J", pour faire par exemple "J1&J2&J3[...]&J84") (en considérant qu'il y a 84 lignes sur ce tableau). (cela me permettra de pouvoir créer un bout de code que je vais pouvoir copier/coller directement)

Seulement le hic : certaines de ces lignes demeureront "erronées", les cases concernées par les formules restant parfois vides.

Ce que je voudrais : pouvoir faire cette concaténation VERTICALE (sur l'ensemble de la colonne J) en précisant qu'il faut SAUTER les cases où la formule semble infaisable en raison de cellules vides. Et ainsi passer à la ligne suivante.

J'espère être clair dans mes explications ?

Je vous remercie infiniment si vous avez une suggestion pour m'aider

Bien cordialement

bonjour

sans avoir essayé ......

regarde un peu si TRANSPOSE ne peux t'aider

cordialement

Merci de votre réponse,

Hélas, ça n'a pas l'air de permettre de faire ce que je veux (c'est à dire sauter les cases avec une formule "incomplète")

J'essaie de me mettre à la création de macro et à VBE, mais je débute totalement dans le domaine, ça risque d'être laborieux.

Merci en tout cas pour votre aide ! Je continue à chercher

Peut être qu'en continuant avec les archaïques "A1&A2&etc"

et en introduisant la formule "SIERREUR" cela me permettrait de sauter les cellules avec une formule se rapport à des cellules vides ?

Salut Citizen,

pas bien compris si tu voulais faire ceci en formules ou par macro...

En tout cas, par macro, voici une solution que tu colles dans la feuille concernée. Tu cliques en J1 pour démarrer le calcul.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
Dim tTab
Dim sFlag As String
'
If Target.Address <> [J1].Address Then Exit Sub
'
Application.EnableEvents = False
Application.ScreenUpdating = False
'
iRow = Range("J" & Rows.Count).End(xlUp).Row
tTab = Range("J2:J" & iRow)
'
For x = 1 To UBound(tTab)
    If tTab(x, 1) <> "" Then sFlag = sFlag & tTab(x, 1)
Next
Range("J" & iRow + 1) = sFlag
'
Application.ScreenUpdating = True
Application.EnableEvents = True
'
End Sub

A+

Merci beaucoup ! je vais essayer de faire ça. (idéalement je voulais faire sans macro n'y connaissant vraiment rien mais je vais tâcher de m'y mettre!)

Dans ce cas précis, qu'est ce qui lui indique à quelle ligne il faut s'arrêter ? (que j'essaie de comprendre ce que je fais)

Salut Citizen,

iRow = Range("J" & Rows.Count).End(xlUp).Row

iRow = la dernière cellule non-vide de la colonne J calculée en remontant la colonne J du bas (ROWS.COUNT) vers le haut (XLUP).

Bienvenue dans VBA!

A+

Bon, hélas ça ne semble pas fonctionner, je crains d'être un peu plus nul que ce que j'imaginais.

Je vais continuer à bosser.

Envoie-nous ton fichier, Citizen!

Nous mettrons des commentaires sur le code pour que tu comprennes!

Merci, c'est très gentil.

Voici le fichier ci-joint.

(c'est un peu compliqué à expliquer, il s'agit d'une base de données pour intégrer par la suite une appli d'aide à l'automédication)

Je vous rassure, ce n'est pas moi le développeur de l'appli ! (on serait assez mal barrés sinon)

En fait comme vous le verrez j'avais largement simplifié.

L'idée serait de concaténer (je ne sais pas si un tel verbe existe) les cellule de J6 (et non J1 comme je l'avais dit tout à l'heure) à J51.

Et de mettre le résultat par exemple en J1, ou en J52, vraiment peu importe.

L'idéal serait donc de pouvoir "sauter" les cases où Excel indique une erreur "la formule fait référence à des cellules vides".

Et si possible également les cellules vides. (mais ça ce n'est pas le plus important a priori)

Encore une fois je ne sais pas si je suis très clair.

Merci infiniment en tout cas pour votre aide, ça paraît très compliqué quand on est pas du tout dans le domaine et j'imagine que mes questions peuvent paraître complètement débiles...


(Ne faites pas trop attention au contenu même, c'est vraiment plus un test qu'autre chose)

12essai-arbre-v4.xlsm (54.79 Ko)

Bonjour Citizen,

je ne comprends effectivement pas grand'chose à cette demande!

Pas grave tant que cela te convient!

A tester!

Les explications du code sont comprises dans la macro qui se trouve, non pas dans un Module comme tu as essayé de faire, mais dans le code de la feuille concernée!

A+

14essai-arbre-v4.xlsm (24.00 Ko)

Merci beaucoup pour votre aide ! J'ai fini par m'en sortir

(finalement je ne suis pas passé par une macro que j'ai visiblement du mal à utiliser, j'ai fait un =SI(ESTVIDE()) sur chaque ligne, ce qui me permet de ne pas afficher les cases avec une formules se référant à des cases vides)

Désolé en tout cas pour la prise de tête, le fichier est difficilement compréhensible et ma demande bizarre, j'en ai bien conscience

Rechercher des sujets similaires à "concatenation saut formule incomplete"