transfert de données d'une colonne à l'autre

coolman53

XLDnaute Junior
Bonjour,

Je voudrai copier les données de la colonne B dans la colonne C mais que les cellules où il y a des données (pas 0 ni vide)

Je ne peux pas mettre de formules dans la colonne C car je dois garder les données inscrite dedans.

En recherchant on m'a parler de VBA mais je vois pas comment faire je suis debutant

Merci d'avance
 

Pièces jointes

  • TEST VBA.xls
    289 KB · Affichages: 28
  • TEST VBA.xls
    289 KB · Affichages: 26
  • TEST VBA.xls
    289 KB · Affichages: 24

coolman53

XLDnaute Junior
Re : transfert de données d'une colonne à l'autre

Merci sa marche nikel !!!!

Par contre c'est obligé de mettre un bouton car j'ai des données dans les colonnes suivante jusqu'a la colonne S et sa m'embete d'aller jusqu'a cette colonne a chaque fois pour le bouton
 

VDAVID

XLDnaute Impliqué
Re : transfert de données d'une colonne à l'autre

Re cooman53,

Non pas du tout, le bouton était pour simplifier la mise en route de la macro.

Tu peux l'activer directement par l'éditeur VBA en faisant simultanément Alt+ F11.
Ensuite tu double clique sur le nom de la feuille concernée et tu verras le code.
Pour le lancer tu sélectionnes la flèche vert en haut du menu.

Si tu n'y arrives pas, essayes de faire une rapide recherche, tu trouveras très facilement!
 

coolman53

XLDnaute Junior
Re : transfert de données d'une colonne à l'autre

ok merci je vais essayer

Par contre je viens de faire un test et quand je remets une ligne a la fin du tableau et que j'active la macro
sa ne mets pas à jour

Ex: ZIN07500 dois etre en MP dans la colonne C mais sa reste vide
 

VDAVID

XLDnaute Impliqué
Re : transfert de données d'une colonne à l'autre

Re coolman53,

Autant pour moi, la recherche de la dernière ligne doit se faire sur la colonne A et non la colonne C.

Remplaces par ce code:

Code:
Option Base 1
Sub retraiter()

Dim i As Long
Dim tabl()

tabl = Range("A2:C" & Range("A65536").End(xlUp).Row).Value

    For i = LBound(tabl()) To UBound(tabl())
    
        If tabl(i, 2) <> "" And tabl(i, 2) <> 0 Then
        tabl(i, 3) = tabl(i, 2)
        tabl(i, 2) = ""
        End If
        
    Next i
Range("A2:C" & Range("A65536").End(xlUp).Row).Value = tabl
    
End Sub
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz