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
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
A voir également:
- Concatener sous vba
- Concaténer pdf - Guide
- Concatener deux cellules excel - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum Programmation
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
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
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
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
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.
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.
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
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
Mets plutôt le résultat de la concaténation tel que je te l'ai montré.
eric
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
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
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
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
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
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
13 juil. 2010 à 22:18
Bonjour,
Mais cela est complètement différent de la demande initiale.
Désolé, je ne peux pas plus.
Mais cela est complètement différent de la demande initiale.
Désolé, je ne peux pas plus.