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

garder même format chiffres en texte

cathodique

XLDnaute Barbatruc
Bonjour,

SVP, les données de la feuille "Bon de Cde" sont transférées sur la feuille "suivi cde" en utilisant des tableaux vba. Le problème est qu'en colonne A de la feuille "Bon de Cde", il y des chiffres au format texte et lors du transfert ils sont convertis sur la feuille "suivi cde" au format nombre.
Comment garder le même format texte.
Code:
Option Explicit

Sub Transfert()
    Dim i&
    Dim Plg As Range, PLg_EnTete As Range
    Dim T_EnTete As Variant, T_Data As Variant, T_Report As Variant

    With Sheets("Bon de cde")
        Set Plg = .Range(.Cells(8, 1), .Cells(.Rows.Count, 1).End(3).Offset(, 3))
        T_EnTete = .Range("A1:D5")
    End With
  
    T_Data = Plg
    ReDim T_Report(1 To UBound(T_Data, 1), 1 To 6)

    For i = LBound(T_Data, 1) To UBound(T_Data, 1)
        T_Report(i, 1) = T_EnTete(1, 4)           'n° bon de commande
        T_Report(i, 2) = CDate(T_EnTete(3, 4))      'date de demande
        T_Report(i, 5) = T_EnTete(5, 2)        'N° Affaire

'        'On boucle sur les colonnes du tableau T_Report
        T_Report(i, 3) = CStr(T_Data(i, 1))       'ref interne
        T_Report(i, 4) = T_Data(i, 2)       'Désignation produit
        T_Report(i, 6) = T_Data(i, 3)        'quantité

    Next i
      
    Sheets("Suivi cde").Cells(Rows.Count, 1).End(3)(2).Resize(UBound(T_Report, 1), UBound(T_Report, 2)) = T_Report

End Sub
Merci.

PS: Pourquoi cette astuce pour enjoliver le code ne fonctionne plus: [highlight=VBA] Code [/highlight ]
 

Pièces jointes

  • Suivi cde 2016.xlsm
    23.3 KB · Affichages: 53

Chris24

XLDnaute Impliqué
Bonsoir

après next i
Code:
    With Sheets("Suivi cde")
        .Range("C2:C" & .[C65000].End(xlUp).Row + UBound(T_Report)).NumberFormat = "@"
        .Cells(Rows.Count, 1).End(3)(2).Resize(UBound(T_Report, 1), UBound(T_Report, 2)) = T_Report
    End With
[fin code]
Cdt
 

cathodique

XLDnaute Barbatruc
Bonjour,

@ Staple1600, je mettais highLight=VBA. J'ai compris dorénavant, je dois mettre Code=VB. Merci beaucoup.

@ Chris24 , Je te remercie beaucoup. C'est exactement ce que je cherchais à obtenir.

Merci à vous.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…