Probleme macro assemblage cellules

Résolu
jeanjeandada
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011
- 15 mai 2008 à 09:54
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
- 15 mai 2008 à 13:16
Bonjour voici une macro qu'on m'a donné pour pouvoir assembler 2 cellules ont une seul cellule
Voici la macro :

Private Function MyConcatenation(ParamArray sString()) As String
    Dim i As Long, sTemp As String


For i = LBound(sString) To UBound(sString)
    sTemp = sTemp & sString(i)
Next i
MyConcatenation = sTemp
End Function


Sub test()
    MsgBox MyConcatenation(Range("A6").Text, Range("B6").Text)
    'MsgBox MyConcatenation("B", "o", "nj", "ou", "r")
   
    Range("J6").Value = MyConcatenation(Range("A1").Text, Range("B1").Text)
End Sub

Résultat :
                      B6                  C6


<colgroup>
<col style=\"WIDTH: 95pt; mso-width-source: userset; mso-width-alt: 4608\" width=\"126\" />
<col style=\"WIDTH: 60pt\" width=\"80\" />
</colgroup>

----

13-mai-08,
06:08:27


et en J6 j 'ai  => WPMSData Panel: S,
Je n'ai pas le contenue des deux cellules.....

J'ai donc essayé la formule =CONCATENER(B6;C6) et j'obtiens
<colgroup><col style=\"WIDTH: 185pt; mso-width-source: userset; mso-width-alt: 9033\" width=\"247\" /></colgroup>----
395810.255868055555556
alors que les cellules je les ai mise en format DAte

Est ce que vous pouvez m'aider svp
Merci!

4 réponses

jeanjeandada
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

15 mai 2008 à 10:38
Ah oui Voici la Solution pour ceux qui la veulent :

Private Function MyConcatenation(ParamArray sString()) As String
    Dim i As Long, sTemp As String


For i = LBound(sString) To UBound(sString)
    sTemp = sTemp & " " & sString(i)
Next i
MyConcatenation = sTemp
End Function


Sub test()
Dim repete As Double
   
For repete = 10 To 8 Step -1


    Cells(repete, 10).Value = MyConcatenation(Cells(repete, 2).Text, Cells(repete, 3).Text)


Next repete
End Sub
3
jeanjeandada
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

15 mai 2008 à 10:08
NON excusez moi j'ai fait une bourre ......

voici la macro écrit correctement :

Private Function MyConcatenation(ParamArray sString()) As String
    Dim i As Long, sTemp As String


For i = LBound(sString) To UBound(sString)
    sTemp = sTemp & sString(i)
Next i
MyConcatenation = sTemp
End Function


Sub test()
    MsgBox MyConcatenation(Range("B7").Text, Range("C7").Text)
    'MsgBox MyConcatenation("B", "o", "nj", "ou", "r")
   
    Range("J6").Value = MyConcatenation(Range("B7").Text, Range("C7").Text)
End Sub

Ce que J'obtient sur la cellule J6 est : 13/05/200806:07:56
SErait-il possible de mettre un ESPACE entre la date et l'heure par exemple sa donnerai :
13/05/2008 06:07:56

Voila MERCI bcp forum !!!
+
0
jeanjeandada
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011

15 mai 2008 à 10:37
C bon j'ai trouvé la solution. C'était tout béte
La prochian je réfléchirai au moins 10 000 fois avt de posté un message sur votre forum

Désolé pour le dérangement
++
0
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
15 mai 2008 à 13:16
For i = LBound(sString) To UBound(sString)
sTemp = sTemp & " " & sString(i)
Next i


utilises Join !!
0