Concatener sous vba

marmotte38630 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  2. marmotte38630 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  3. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  4. marmotte38630
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Mais cela est complètement différent de la demande initiale.
    Désolé, je ne peux pas plus.
    0