Création de colonnes avec formules

Résolu/Fermé
dan03 Messages postés 32 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 16 décembre 2021 - 17 oct. 2020 à 17:50
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 19 oct. 2020 à 13:01
Bonjour,
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
A voir également:

5 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié le 17 oct. 2020 à 19:15
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")



0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
Modifié le 19 oct. 2020 à 13:39
cela fonctionne mieux sans espace entre T et (:
= TEXT(C1 ; "dd-mmm")
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
17 oct. 2020 à 20:16
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?
0
dan03 Messages postés 32 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 16 décembre 2021 2
18 oct. 2020 à 10:26
Bonjour,

Toujours le même problème
Je vous joint un fichier d'exemple
https://www.cjoint.com/c/JJsiyjk4UMh
Merci de votre aide
0
dan03 Messages postés 32 Date d'inscription dimanche 20 mai 2007 Statut Membre Dernière intervention 16 décembre 2021 2
19 oct. 2020 à 11:51
Merci infiniment, c'est ce que je cherchais
Je marque comme résolu
Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
19 oct. 2020 à 11:51
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à
0