Concatener en fonction du contenue d'une cellule

elli6258

XLDnaute Nouveau
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
 

commandant

XLDnaute Junior
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

  • 080821 Concatenation.xls
    17 KB · Affichages: 88

bruno66

XLDnaute Occasionnel
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

  • ellia 6258.xls
    21 KB · Affichages: 86
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
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...
 

bruno66

XLDnaute Occasionnel
Re : Concatener en fonction du contenue d'une cellule

modif fichier suite a non fonctionnement cellule contenant du chiffr, en colonne C problème resolu
bonne soirée a toutes
 

Pièces jointes

  • ellia 6258 1 bis.xls
    20.5 KB · Affichages: 66

bruno66

XLDnaute Occasionnel
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
 

Robert

XLDnaute Barbatruc
Repose en paix
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:

bruno66

XLDnaute Occasionnel
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
 

elli6258

XLDnaute Nouveau
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

  • elli6258.xls
    16.5 KB · Affichages: 58
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
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...
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz