Macro copie en valeur dans la même cellule

Bonjour

Je souhaiterais créer une macro qui, quand je remplis une cellule (par exemple A1), copie en valeur le contenu de la cellule B de la même ligne.

Si je remplis A18, le contenu de la cellule B18 se copie en valeur dans cette cellule B18.

Quelqu'un pourrait-il me dépanner ?

Merci

Bonjour,

Pourquoi une macro =si(A18<>"";A18;"") devrait suffire.

Cordialement

bonjour Zebulon2,Serdz,

mettez ceci dans le module de votre feuille

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim c0, c    As Range

     Set c = Intersect(Target, Me.Columns("A"))
     If c Is Nothing Then Exit Sub

     For Each c0 In c.Cells
          If Len(c0) > 0 Then c0.Offset(, 1).Value = c0.Offset(, 1).Value
     Next

End Sub

Parce que j'ai une formule en B18 avec un résultat qui va évoluer dans le temps que je veux conserver un historique.

Merci Bart.

Peux-tu m'expliquer ton code pour l'adapter à mon fichier car dans mon cas la colonne qui déclenche est B (ça ok je change le A en B) par contre la cellule à copier/coller est dans la colonne L et ça je ne sais pas où le spécifier ?

Merci

re,

les colonnes B et L sont colonne 2 et 12, donc L est 10 colonnes vers la droite de B (j'espère qu'il n'y a pas des cellules fusionnées),

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim c0, c    As Range

     Set c = Intersect(Target, Me.Columns("B"))
     If c Is Nothing Then Exit Sub

     For Each c0 In c.Cells
          If Len(c0) > 0 Then c0.Offset(, 10).Value = c0.Offset(, 10).Value '10 colonnes vers droite
     Next

End Sub

Ma macro pose problème car j'ai dejà une macro qui s'appelle worksheet_change sur ma feuille et si je mets un worksheet_change2 cela ne fonctionne plus

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim fichier As String, chemin As String, lign As Long

    chemin = "J:\A_PARC MAD\Dossiers Véhicules\Dossiers\"
    lign = Target.Row
    fichier = ""
    If Cells(lign, 1) <> "" Then fichier = Cells(lign, 1)
    If fichier <> "" Then chemin = chemin & fichier
    If Dir(chemin, vbDirectory) = "" Then MkDir chemin
End Sub
----------------------------

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim c0, c    As Range

     Set c = Intersect(Target, Me.Columns("B"))
     If c Is Nothing Then Exit Sub

     For Each c0 In c.Cells
          If Len(c0) > 0 Then c0.Offset(, 10).Value = c0.Offset(, 10).Value '10 colonnes vers droite
     Next

    MsgBox "Le contenu de B2 a été effacé !"

End Sub

re,

vous pouvez les mettre dans une seule macro (je ne l'ai pas testé)

Private Sub Worksheet_Change(ByVal Target As Range)
     Dim fichier As String, chemin As String, lign As Long
     Dim c0, c As Range

     'partie 1 de la macro ***************************
     chemin = "J:\A_PARC MAD\Dossiers Véhicules\Dossiers\"
     lign = Target.Row
     fichier = ""
     If Cells(lign, 1) <> "" Then fichier = Cells(lign, 1)
     If fichier <> "" Then chemin = chemin & fichier
     If Dir(chemin, vbDirectory) = "" Then MkDir chemin

     'partie 2 de la macro************************
     Set c = Intersect(Target, Me.Columns("B"))
     If c Is Nothing Then Exit Sub

     For Each c0 In c.Cells
          If Len(c0) > 0 Then
               c0.Offset(, 10).Value = c0.Offset(, 10).Value     '10 colonnes vers droite
               MsgBox "Le contenu de " & c0.Address(0, 0) & " a été effacé !"
          End If
     Next

End Sub

Ca marche parfaitement, c'est nickel.

Merci beaucoup pour ton aide.

Rechercher des sujets similaires à "macro copie valeur meme"