Condition
Résolu
alexysr
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
alexysr Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
alexysr Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
2 réponses
Bonjour
1° question
En E1 mettre la formule : =si(gauche(D1;2)="46";"SUPP";"")
2° question
Pas possible par formule, il faut faire une macro en VBA
Cdlmnt
1° question
En E1 mettre la formule : =si(gauche(D1;2)="46";"SUPP";"")
2° question
Pas possible par formule, il faut faire une macro en VBA
Cdlmnt
Voilà
Ouvrir Editeur VBA (ALT F11) puis Insertion Module
copier-coller la macro suivante
Fermer l'éditeur
Acceder à la macro à partir de l'onglet Developpeur Macros ou crée un bouton et mettre dans le code le nom de la macro (supp)
Cdlmnt
Ouvrir Editeur VBA (ALT F11) puis Insertion Module
copier-coller la macro suivante
Sub supp() Dim Ligne As Long dernligne = ActiveSheet.Columns(4).Find("*", , , , xlByColumns, xlPrevious).Row For n = 1 To dernligne If Left(Range("D" & n), 2) = "46" Then Range("E" & n) = "SUPP" Else If Left(Range("D" & n), 2) = "40" Then Range("D" & n) = "": Range("E" & n) = "" Next End Sub
Fermer l'éditeur
Acceder à la macro à partir de l'onglet Developpeur Macros ou crée un bouton et mettre dans le code le nom de la macro (supp)
Cdlmnt
Salut via55,
J'ai essayé de l'intégrer:
mais il me dit qu'il y a une erreur, une idée?
merci
J'ai essayé de l'intégrer:
Sub Macro2()
'
' Macro2 Macro
'
'
Windows("data_141015.xlsx").Activate
Worksheets("Feuil2").Activate
Dim Ligne As Long
dernligne = ActiveSheet.Columns(4).Find("*", , , , xlByColumns, xlPrevious).Row
For n = 1 To dernligne
If Left(Range("D" & n), 2) = "46*" Then Range("E" & n) = "SUPP"
Else: If Left(Range("D" & n), 2) = "40" Then Range("D" & n) = "": Range("E" & n) = ""
End If
Next
End Sub
mais il me dit qu'il y a une erreur, une idée?
merci
Une erreur dans ma macro et deux dans la tienne !
Dans la mienne ce n'est pas DIm Ligne mais Dim dernligne qu'il faut mettre (j'avais changé le nom de la variable après mais pas dans le Dim !!)
Dans la tienne il ne faut pas d'* après 46 (Left(..,2 prend les 2 premiers caractères ) et le Else doit être sur la même ligne et sans :
Ligne correcte (en principe!) :
If Left(Range("D" & n), 2) = "46" Then Range("E" & n) = "SUPP" Else If Left(Range("D" & n), 2) = "40" Then Range("D" & n) = "": Range("E" & n) = ""
Et tu supprimes le End If
Cdlmnt
Dans la mienne ce n'est pas DIm Ligne mais Dim dernligne qu'il faut mettre (j'avais changé le nom de la variable après mais pas dans le Dim !!)
Dans la tienne il ne faut pas d'* après 46 (Left(..,2 prend les 2 premiers caractères ) et le Else doit être sur la même ligne et sans :
Ligne correcte (en principe!) :
If Left(Range("D" & n), 2) = "46" Then Range("E" & n) = "SUPP" Else If Left(Range("D" & n), 2) = "40" Then Range("D" & n) = "": Range("E" & n) = ""
Et tu supprimes le End If
Cdlmnt
Pardon j'avais pas précisé, tout ça en VBA :s