Concatener sous vba

Fermé
marmotte38630 Messages postés 4 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 7 juillet 2010 - 7 juil. 2010 à 18:51
Le Pingou Messages postés 12043 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 - 13 juil. 2010 à 22:18
Bonjour,

j'essai de concatener deux cellules dans une autre sachant qu'après la colonne ou j'ai le résultat de la concatenation subit un tri alphabetique. j'ai essayé d'utiliser la fonction concatener mais quand j'applique le tri la cellule concatener affiche rien apres le tri.
est ce que quelqu'un peut m'aider

5 réponses

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 juil. 2010 à 19:35
Bonjour,

Si tu disais ce que tu as fait on pourrait peut-être voir l'erreur...
Sinon de façon générale :
[A3]=[A1] & [A2]

eric
0
marmotte38630 Messages postés 4 Date d'inscription mardi 6 juillet 2010 Statut Membre Dernière intervention 7 juillet 2010
7 juil. 2010 à 20:19
voilà la formule que j'ai utilisé
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[79],"" "",RC[80])"
a mon avis il faut pas que je désigne les cellules précisément.
en fait g deux text box une pour le nom et l'autre pour le prénom et j'aimerai que le nom et le prénom apparaissent dans la meme cellule. c'est pour cela que j'ai penser à concatener mais il y a peut etre autre chose. parce que si je désigne des cellules précise quand je fait le tri alphabétique la cellule qui contient le nom et le prénom n'affiche plus les bonnes données elle prend les coordonnées de la cellule qui correspond a sa nouvelle ligne.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 juil. 2010 à 22:40
C'est parce que tu mets une formule dans la cellule, tu ne peux trier dessus.
Mets plutôt le résultat de la concaténation tel que je te l'ai montré.
eric
0
Le Pingou Messages postés 12043 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
Modifié par Le Pingou le 7/07/2010 à 23:59
Bonjour,
Admis [A1] =Nom , [B1 ]= Prénom et en [C1 ] = Nom Prénom
(avec nom dans TextBox1 et prénom dans TextBox2)
Le code devrait-être :
Range("C1").value = Me.TextBox1 & " " Me.TextBox2

Salutations.
Le Pingou
0
marmotte38630
13 juil. 2010 à 18:02
Voilà le programme que j'utilise pour supprimer mes données sur la feuille principale. J'ai des feuilles annexes qui reprennent les mêmes données que ma fiche principale ; j'aimerai que lorsque je supprime une donnée, la suppression se fasse sur toutes les autres lignes équivalentes à ma donnée sur les autres feuilles.



Avec le user form
Private Sub CommandButton1_Click()
xNom = Trim(SNom)
Unload UserForm2
SupDonnées
End Sub

Private Sub CommandButton2_Click()
Unload UserForm2
End Sub

Dans un module
Public SNom As String
Public D As Integer
Public V As String

Private Sub UserForm_Initialize3()
Dim U As Integer
Load UserForm2
Sheets("agents").Select
U = 2
Do
V = Cells(U, 1).Value
UserForm2.SNom.AddItem "" & V & ""
U = U + 1
Loop While Cells(U, 1) <> ""
UserForm2.Show
End Sub

Private Sub nombrefeuille3()
Dim n As Integer
Sheets("agents").Select

' nl = le numéro de ligne de la cellule correspondante au nom donnée
nl = Sheets("agents").[A65000].End(xlUp).Row + 1

n = 2
For n = 2 To nl
If Cells(n, 1) = xNom Then
Cells(n, 1).Select
nnf = n
End If
Next
End Sub

Sub SupDonnées ()
'Dim m As Integer
nombrefeuille3
With ActiveCell
.Value = ""
.Offset(0, 1).ClearContents
.Offset (0, 2).ClearContents
.Offset(0, 3).ClearContents
.Offset(0, 4).ClearContents
.Offset(0, 5).ClearContents
.Offset(0, 6).ClearContents
.Offset(0, 7).ClearContents
.Offset(0, 8).ClearContents
.Offset(0, 9).ClearContents
.Offset(0, 10).ClearContents
.Offset(0, 11).ClearContents
End With

`Classement par ordre alphabétique
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
ActiveWorkbook.Worksheets("AGENTS").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("AGENTS").Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("AGENTS").Sort
.SetRange Range(Selection, ActiveCell.SpecialCells(xlLastCell))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12043 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 25 avril 2024 1 426
13 juil. 2010 à 22:18
Bonjour,
Mais cela est complètement différent de la demande initiale.
Désolé, je ne peux pas plus.
0