Création de colonnes avec formules
Résolu
dan03
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai écrit le code suivant et j'obtiens une erreur
Dans C1, j'ai une date du format "17/10/2020"
j'ai essayé GAUCHE(C1;5) pour tester, mais en réalité je désire obtenir
une date sous la forme 17-oct, l'année étant dans une autre colonne
Merci de votre aide Cordialement
J'ai écrit le code suivant et j'obtiens une erreur
Dans C1, j'ai une date du format "17/10/2020"
With ActiveWorkbook.sheets("feuille2")
For i = 3 To 5
.Columns(i).Insert ' 1ère colonne (C)
.Columns(i).NumberFormat = "General"
Next
.Range("C1").FormulaLocal = "=macro(B1)"
.Range("C1").AutoFill Destination:=.Range("C1:C" & DerLign), Type:=xlFillDefault
.Range("D1").FormulaLocal = "=CNUM(DROITE(C1;4))" 'date
.Range("D1").AutoFill Destination:=.Range("D1:D" & DerLign), Type:=xlFillDefault
C'est ici que j'obtiens une erreur définie par l'application ou par l'objet
.Range("E1").FormulaLocal = "=GAUCHE(C1,5)"
.Range("E1").AutoFill Destination:=.Range("E1:E" & DerLign), Type:=xlFillDefault
End With
j'ai essayé GAUCHE(C1;5) pour tester, mais en réalité je désire obtenir
une date sous la forme 17-oct, l'année étant dans une autre colonne
Merci de votre aide Cordialement
Configuration: Windows / Edge 86.0.622.38
5 réponses
-
Bonjour,
Tu dis
j'ai essayé GAUCHE(C1;5) pour tester
Ce qui semble être la bonne syntaxe... et donc.. ça donne quoi .. toujours l'erreur ??
en réalité je désire obtenir
une date sous la forme 17-oct,
Ca serait donc plus cette méthode que tu devrais utiliser je pense= TEXT (C1 ; "dd-mmm")
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
que veux-tu obtenir?
un code qui ne fonctionne pas ne peut surement pas remplacer une description de l'objectif.
pourquoi utiises-tu un code, au lieu d'enregistrer une formule? -
Bonjour,
Toujours le même problème
Je vous joint un fichier d'exemple
https://www.cjoint.com/c/JJsiyjk4UMh
Merci de votre aide -
Merci infiniment, c'est ce que je cherchais
Je marque comme résolu
Cordialement -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
comme ceci:
Option Explicit Global Debut As Integer Sub Calcul() Dim DerLigne With ActiveWorkbook.sheets("Feuil2") 'Création des feuilles Dim i As Integer For i = 4 To 5 .Columns(i).Insert .Columns(i).NumberFormat = "General" .Columns(i).HorizontalAlignment = xlCenter Next 'Calcul nombre de lignes DerLigne = sheets("Feuil2").Cells.Find("*", , , , xlByRows, xlPrevious).Row .Range("D1").FormulaLocal = "=CNUM(DROITE(C1;4))" 'date .Range("D1").AutoFill Destination:=.Range("D1:D" & DerLigne), Type:=xlFillDefault 'C'est là ou ça coince 'Je voudrais obtenir un résulatat comme 21-déc 'j'ai essayé avec = GAUCHE, pour tester mais erreur .Range("E1").FormulaLocal = "=GAUCHE(C1;5)" .Range("E1").AutoFill Destination:=.Range("E1:E" & DerLigne), Type:=xlFillDefault End With For i = 1 To DerLigne Range("E" & i).Value = Format(Range("E" & i), "dd-mmmm") Next End Sub
Voilà