Concatener en fonction du contenue d'une cellule

  • Initiateur de la discussion Initiateur de la discussion elli6258
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

elli6258

Guest
Bonsoir au forum,
ne connaissant pas grand chose en VBA, je m'appuie sur vos connaissances.
Voila mon problème:
J'ai un tableau avec 8 colonnes et x lignes.
je souhaite concaténer la cellule A1 avec la cellule A4, dans la cellule A1, si le mot contenue dans la cellule A1 commence par "PO", sinon je passe à la ligne suivant et ainsi jusqu'à la fin du tableau.

Merci d'avance
 
Re : Concatener en fonction du contenue d'une cellule

Dans le fichier joint tu as un exemple d'utilisation de la fonction de concatenation en colonne A.
Lorsque la colonne B commence par "Qu" il concatène la valeur en colonne B avec celle de la colonne D.
En espérant que ça puisse te servir.
 

Pièces jointes

Re : Concatener en fonction du contenue d'une cellule

bonjour un petit morceau de fichier de votre part aurait été sympa a defaut, je vous ai fait un modèle, traditionnel, et bien de chez moi.... sachez qu'il vous faut au moins 2 colonnes avec ma solution supplementaire, avec les formules jointe au fichier, a vous de de mettre a votre goût pour adaptation a votre problème ....
 

Pièces jointes

Dernière édition:
Re : Concatener en fonction du contenue d'une cellule

Bonsoir le fil, bonsoir le forum,

Je te propose la macro suivante :

Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELulle)
Dim pl As Range 'déclare la variable pl (PLage)
Set pl = Range("A1:A" & Range("A65536").End(xlUp).Row) 'définit la variable pl
For Each cel In pl 'boucles sur toutes les cellules cel de la plage pl
If Left(cel.Value, 2) = "PO" Then 'condition : si les deux premières lettres de la cellule cel sont PO
cel.Value = cel.Value & cel.offet(0, 3).Value 'cel devient cel + le contenu de la cellule de la colonne D
End If 'fin de la condition
Next cel 'prochaine cellule cel de la plage pl
End Sub

elle concatène non pas avec A4 mais avec D1 car je pense que tu as confondu ligne et colonne...
 
Re : Concatener en fonction du contenue d'une cellule

Bonsoir le fil, bonsoir le forum,

Je te propose la macro suivante :



elle concatène non pas avec A4 mais avec D1 car je pense que tu as confondu ligne et colonne...
J'ai un tableau avec 8 colonnes et x lignes.
je souhaite concaténer la cellule A1 avec la cellule A4, dans la cellule A1, si le mot contenue dans la cellule A1 commence par "PO", sinon je passe à la ligne suivant et ainsi jusqu'à la fin du tableau.

suivant sa demande, je pense qu(elle a inverse colonne et ligne, c'est tout , bonne soirée quand même
 
Re : Concatener en fonction du contenue d'une cellule

Bonsoir le fil, bonsoir le foum,

Bruno, je n'ai pas compris ta dernière intervention. J'ai l'impression que tu as pris ma remarque pour toi. Je suis désolé mais ce n'était pas le cas. C'était juste pour justifier mon code qui faisait la concatenisation avec la quatrième cellule (à droite) et non pas la quatirème cellule en dessous.

J'ai vu que vous proposiez des solutions avec des formules, que je ne maîtrise absolument pas, et je me suis juste contenté de porposer une solution par macro. Sans dénigrer en aucune façon vos options à Commandant et à toi même.

Bonne nuit... "quand même"...
 
Dernière édition:
Re : Concatener en fonction du contenue d'une cellule

excusez moi, Robert, je n'avais pas vu le haut que celui ci avait la fin en dessous de la macro...par contre, je ne comprend pas moi, le language en Vba ou par macro... je ne suis pas expert en logistique, j'apprend beaucoup ici, en formulation simple, un regal... bonne soirée au plaisir
 
Re : Concatener en fonction du contenue d'une cellule

Bonjour,
Je vous remercie de votre aide.
Vu l'heure tardive de vos posts vous ne semblez pas dormir beaucoup.
c'est la passion qui vous anime !.
Je remercie Commandant, mais je préférais une solution VBA, je pourrai poser éventuellement poser ta formule par une macro mais je pense que ça ralentira le traitement.

Effectivement dans mon post il fallait concaténer A1 avec D4 et non A4.

Je vous joint un fichier "simplifier" (je n'avais pas vu toutes les possibilités du site) .
Je viens de tester la macro de Bruno, cela ne fonctionne pas..
j'ai affiché la fenêtre variable locale et les valeurs "Pl" et "cel" me retourne "nothing"
Cordialement
 

Pièces jointes

Dernière modification par un modérateur:
Re : Concatener en fonction du contenue d'une cellule

Bonsoir le fil, bonsoir le forum,

En effet Elli je n'avais pas testé moi-même et il y avait une faute dans le code (j'avais écrit offet au lieu de Offset...).

J'ai un peu remanié et surtout j'ai testé... Ça marche !

Code:
Sub Macro1()
Dim cel As Range 'déclare la variable cel (CELulle)
Dim pl As Range 'déclare la variable pl (PLage)
 
Set pl = Range("A1:A" & Range("A65536").End(xlUp).Row) 'définit la variable pl
 
For Each cel In pl 'boucles sur toutes les cellules cel de la plage pl
 
    If Left(cel.Value, 2) = "PO" Then 'condition : si les deux premières lettres de la cellule cel sont PO
        cel.Value = cel.Value & " Resp. " & cel.Offset(0, 3).Value 'cel devient cel + le contenu de la cellule de la colonne D
    End If 'fin de la condition
 
Next cel 'prochaine cellule cel de la plage pl
End Sub

p.s. au fait moi c'est Robert...
 
Re : Concatener en fonction du contenue d'une cellule

Bonjour Robert, et au forum.
Excuse -moi pour la méprise.
Je te remercie vivement pour ta macro je l'ai testé et cela fonctionne. je vais pouvoir continuer mon projet.
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
368
Retour