Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Concatener par Macros

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

teodormircea

XLDnaute Occasionnel
Bonjour le Forum

Je voudrais remplacer cette formule , ="*"& cellule &"*" avec une macros.

comme celle ci mais çà marche pas
Code:
Sub Conca()
Dim X, Y As Integer
If MsgBox("Code Y Assets a REVOIR", vbYesNo, "Continuer pour MARQUER") = vbYes Then
'xcl = 2 'ici j'indique la variable qui n'était pas renseignée dans ta macro
X = InputBox("SOURCE", "SOURCE")
Y = InputBox("TARGET", "TARGET")

k = Range(Cells(Rows.Count, X).Address).End(xlUp).Row - 1

i = Range(Cells(Rows.Count, Y).Address).End(xlUp).Row - 1

Range(Cells(2, Y), Cells(i, Y)) = Range(Cells(2, X), Cells(k, X))
End If
'c'est tout sans boucle
End Sub
Un peux de lumière😛
 
Re : Concatener par Macros

Bonjour,
Commence par modifier les variables X et Y, parce que de fait elles sont au format texte et ça ne peut pas fonctionner
Code:
X = CLng(InputBox("SOURCE", "SOURCE"))
Y = CLng(InputBox("TARGET", "TARGET"))
Pour le reste je n'ai pas compris ce que tu veux faire
A+
kjin
 
Re : Concatener par Macros

une petite remarque si je puis me permettre,

Dans la ligne
Dim X, Y As Integer
seule la variable Y est déclarée en Integer (X est variant)
pour déclarer les 2 en Integer, il faut écrire :
Dim X As Integer, Y As Integer

Caillou
 
Re : Concatener par Macros

Oui,
Code:
Sub Conca()
Dim X, Y As Integer

X = InputBox("SOURCE", "SOURCE")
Y = InputBox("TARGET", "TARGET")

k = Range(Cells(Rows.Count, X).Address).End(xlUp).Row - 1

i = Range(Cells(Rows.Count, Y).Address).End(xlUp).Row - 1

Range(Cells(2, Y), Cells(i, Y)) = "*"&Range(Cells(2, X), Cells(k, X))&"*"


End Sub
voila ca marche toujours pas , la je pense que c'est ma méthode qui est pas bonne
 
Re : Concatener par Macros

Code:
Sub Conca()
 
       Dim X As Integer
       Dim Y As Integer
       Dim Z As Integer
       Dim i As Integer
       
       
       X = Application.InputBox(prompt:="Source Column ", Title:="Insert Column Number", Type:=1)
       If (X < 1) + (X > Columns.Count) Then Exit Sub
       LastRow = ActiveSheet.Cells(Rows.Count, X).End(xlUp).Row - 1
       
      Z = Application.InputBox(prompt:="Target Column ", Title:="Insert Column Number", Type:=1)
       
       
      
       For i = 2 To LastRow
    If Cells(i, Z).EntireRow.Hidden = False Then
        Cells(i, Z).Value = "*" & Cells(i, X).Value & "*"
    Else
        Cells(i, Z).ClearContents
    End If
Next i

 
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
932
Réponses
15
Affichages
830
Réponses
4
Affichages
743
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…