Microsoft 365 Erreur 424 et fonction gauche en vba

Céline49

XLDnaute Junior
Bonjour,

J'ai un message d'erreur que je ne comprends pas "erreur 424 objet requis" et je ne sais pas comment créer l'équivalent de la fonction gauche avec du vba (souhait de ne conserver que les 4 caractères situés à gauche de chaque cellule d'une colonne).

Ps: n'y a-t-il pas des variables qu'il faudrait que je déclare en plus pour accélérer l'exécution...mais je suis un peu débutante sur le sujet et je récupère une fonction déjà en place...mais pas adapté à ces données !

Merci par avance à vous
 

Pièces jointes

  • Pb vba du 11-10-2020 - Copie.xlsm
    48 KB · Affichages: 21

Phil69970

XLDnaute Barbatruc
Céline, le forum

Si tu supprimes ==> .Select

' Travailler sur la feuille "Vte"
With Worksheets("Vte") '.Select

Cela fonctionneras beaucoup mieux !

De plus
VB:
    'Remplacer les points par des virgules pour les colonnes G et H
    .Columns("G:H").Replace What:=".", Replacement:=",", LookAt:=2, SearchOrder:=1
    .Columns(7).TextToColumns Destination:=Range("G1"), DataType:=1
    .Columns(8).TextToColumns Destination:=Range("H1"), DataType:=1

Peut être remplacer par :
Code:
'    'Remplace les . par des , pour les colonnes G et H
    .Range("G:H").Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Cela te donneras ceci :
Code:
Sub MAcro()

Const FAT As String = "VteCaiBqe"

'Déclare la variable objet Worksheet (feuille de calcul)
Dim Feuille As Worksheet
'Désactiver le raffraichissement d'écran
Application.ScreenUpdating = False
'Désactiver le Calcul Automatique
Application.Calculation = xlManual

'Travailler sur la feuille "Vte"
With Worksheets("Vte")

    'Remplace les . par des , pour les colonnes G et H
    .Range("G:H").Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
          
    'Supprimer colonnes inutiles
    .Range("A:A,E:E").Delete
          
    'Supprimer colonnes inutiles
    .Columns("D:D").Cut
    .Columns("B:B").Insert Shift:=xlToRight
    Application.CutCopyMode = False
    .Columns("B:B").TextToColumns Destination:=Range("B1"), DataType:=2, FieldInfo:=Nfo
    .[B1] = "N° Pièce"
    .[A1].CurrentRegion.Columns.AutoFit
End With

'Réactiver le Calcul Automatique
Application.Calculation = xlAutomatic
'Réactiver le raffraichissement d'écran
Application.ScreenUpdating = True

End Sub

Si la solution te satisfait passe la en résolu.

Pour clôturer une demande :
https://www.excel-downloads.com/threads/prefixe-resolu-et-marquer-comme-solution.20029836/

@Phil69970
 

Céline49

XLDnaute Junior
Bonsoir
Effectivement c'est beaucoup mieux comme ça. Merci à toi Phil69970.
Seriez-vous par contre comment pour appliquer la fonction gauche et ne garder que 4 caractères pour les données d'une colonne (N° pièce de l'onglet "Cai"). Merci par avance pour votre aide
 

Discussions similaires

Réponses
14
Affichages
812

Statistiques des forums

Discussions
312 103
Messages
2 085 322
Membres
102 862
dernier inscrit
Emma35400