XL 2016 Copier-coller une cellule, en rajoutant un terme dans la nouvelle cellule

  • Initiateur de la discussion Initiateur de la discussion BPM
  • Date de début Date de début

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 !

BPM

XLDnaute Nouveau
Bonjour,

Je suis débutante en code VBA raison pour laquelle je sollicite votre aide.

J’aimerais écrire un code qui arrive à copier-coller la cellule C2 de la feuille 1, dans la cellule C1 de la feuille 2 et j’aimerais qu’après avoir collé que dans la même cellule je puisse rajouter le terme « IND » dans la cellule C1 feuille 2 et tout ça en code VBA.

Le contenu de la cellule C2 de la feuille 1, est amené à changer et je voudrais que le terme « IND » reste toujours peu importe la lettre qui viendra s’ajouter lors du copier-coller dans la cellule C1 feuille 2.

Je joins un petit fichier Excel exemple juste pour mieux représenter, car le fichier original est un gros document confidentiel.

Voici le code que j’ai essayé avec l’enregistreur de macro :

Sub exemple ()

' Copier-coller avec "IND"

Range("C2").Select

Selection.Copy

Sheets("Feuil2").Select

Range("C1").Select

ActiveSheet.Paste

Range("C1").Select

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = "IND A"

Range("C2").Select

End Sub

Le problème pour plus de précision vient de cette partie : ActiveCell.FormulaR1C1 = "IND A"

Car comme je l’ai précisé plus haut la lettre A peut changer en B,C,D etc… alors je ne veux pas le code retienne la lettre A mais plutôt que le contenu de la cellule donc ici la cellule C2.

Je vous remercie d’avance pour votre aide.
 

Pièces jointes

Solution
Bonjour BPM et bienvenue sur le Forum

Voici une macro qui correspond a ta demande :
VB:
Sub exemple()
' Copier-coller avec "IND"
    Sheets("Feuil2").Range("C1") = "IND " & Range("C2")
End Sub

Le mieux, serait cependant de faire une macro evenementielle, c'est a dire quelle se declenche lorsque la veleur de C2 change dans Feuil1. Pour cela, il te faut copier la macro ci-dessous dans le code de la Feuil1 :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([C2], Target) Is Nothing Then
        Sheets("Feuil2").Range("C1") = "IND " & Range("C2")
    End If
End Sub

Voir le fichier joint
Bonjour BPM et bienvenue sur le Forum

Voici une macro qui correspond a ta demande :
VB:
Sub exemple()
' Copier-coller avec "IND"
    Sheets("Feuil2").Range("C1") = "IND " & Range("C2")
End Sub

Le mieux, serait cependant de faire une macro evenementielle, c'est a dire quelle se declenche lorsque la veleur de C2 change dans Feuil1. Pour cela, il te faut copier la macro ci-dessous dans le code de la Feuil1 :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([C2], Target) Is Nothing Then
        Sheets("Feuil2").Range("C1") = "IND " & Range("C2")
    End If
End Sub

Voir le fichier joint
 

Pièces jointes

Bonjour BPM et bienvenue sur le Forum

Voici une macro qui correspond a ta demande :
VB:
Sub exemple()
' Copier-coller avec "IND"
    Sheets("Feuil2").Range("C1") = "IND " & Range("C2")
End Sub

Le mieux, serait cependant de faire une macro evenementielle, c'est a dire quelle se declenche lorsque la veleur de C2 change dans Feuil1. Pour cela, il te faut copier la macro ci-dessous dans le code de la Feuil1 :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([C2], Target) Is Nothing Then
        Sheets("Feuil2").Range("C1") = "IND " & Range("C2")
    End If
End Sub

Voir le fichier joint
Je vous remercie pour votre aide, cela résout très bien mon problème.
 
- 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

Retour