Copier une colonne en VBA

bonjour a tous

Je n ' arrive pas a realiser le vba suivant :

Copier une colonne B de la feuille 2 dans la colonne A de la feuille 1 ( par exemple )

Mais quand les cellules sont vides il me met la valeur 0 alors que je voudrais absolument garder une cellule vide .

milles mercis

Bonjour,

Est-ce que tu as de vraies valeurs 0 dans certaines cellules, ou est-ce qu'on peut effacer les 0 ?

Daniel

Essaie :

Sub Copie()
  Dim C As Range, Sh As Worksheet
  Set Sh = Sheets("Feuil1")
  With Sheets("Feuil2")
    For Each C In Intersect(.Range("B:B"), .UsedRange)
      If C <> "" Then
        C.Copy Sh.Cells(C.Row, 1)
      End If
    Next C
  End With
End Sub

Daniel

bonjour daniel

oui on peut effacer les 0

Bonjour, c'est bizarre qu'un copié collé de cellule vide ramène un zéro. Chez moi çà reste vide si vide

on peut voir votre code vba.

Merci beaucoup daniel .

Par contre mes colonnes a copier sont issues d un formulaire FORMS d athlete et quand il rempli ses datas cela ne se met pas a jour automatiquement .

Que faut il rajouter ?

voici mon code actuel

Sub Copie()
Dim C As Range, Sh As Worksheet
Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("B:B"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 1)
End If
Next C
End With


Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("d:d"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 2)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("h:h"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 3)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("i:i"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 4)
End If
Next C
End With


Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("j:j"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 5)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("k:k"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 6)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("m:m"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 7)
End If
Next C
End With


Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("n:n"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 8)
End If
Next C
End With


Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("o:o"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 9)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("p:p"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 10)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("q:q"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 11)
End If
Next C
End With

Set Sh = Sheets("Feuil1")
With Sheets("Form1")
For Each C In Intersect(.Range("r:r"), .UsedRange)
If C <> "" Then
C.Copy Sh.Cells(C.Row, 12)
End If
Next C
End With

With Worksheets("Feuil1")
.Range("c:c").Replace ".", ","
End With

With Worksheets("Feuil1")
.Range("d:d").Replace ".", ","
End With

With Worksheets("Feuil1")
.Range("e:e").Replace ".", ","
End With

With Worksheets("Feuil1")
.Range("f:f").Replace ".", ","
End With

End Sub

Rechercher des sujets similaires à "copier colonne vba"