Condition
Résolu/Fermé
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
-
Modifié par alexysr le 15/10/2014 à 15:21
alexysr Messages postés 24 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 5 avril 2016 - 16 oct. 2014 à 16:37
alexysr Messages postés 24 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 5 avril 2016 - 16 oct. 2014 à 16:37
A voir également:
- Condition
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Recherchev avec condition si ✓ - Forum Excel
- Nbval avec condition ✓ - Forum Excel
- Excel copier une cellule si condition ✓ - Forum Excel
2 réponses
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
15 oct. 2014 à 15:12
15 oct. 2014 à 15:12
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
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
15 oct. 2014 à 19:07
15 oct. 2014 à 19:07
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
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
15 oct. 2014 à 19:45
15 oct. 2014 à 19:45
Merci beacoup via55!
Je testerais demain et te diras :)
Mais déjà j'ai compris le code, donc merci!
Bonne soirée
Je testerais demain et te diras :)
Mais déjà j'ai compris le code, donc merci!
Bonne soirée
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
15 oct. 2014 à 19:57
15 oct. 2014 à 19:57
Juste une question, peux-tu expliquer la partie :
?
merci :)
Dim Ligne As Long
dernligne = ActiveSheet.Columns(4).Find("*", , , , xlByColumns, xlPrevious).Row
For n = 1 To dernligne
?
merci :)
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
15 oct. 2014 à 20:34
15 oct. 2014 à 20:34
la 2eme ligne recherche le n° dernière ligne remplie en colonne 4
Ensuite on boucle de la 1ere à cette dernière ligne
Bonne soirée également
Ensuite on boucle de la 1ere à cette dernière ligne
Bonne soirée également
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
16 oct. 2014 à 16:10
16 oct. 2014 à 16:10
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
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 735
Modifié par via55 le 16/10/2014 à 16:26
Modifié par via55 le 16/10/2014 à 16:26
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
15 oct. 2014 à 15:22
Pardon j'avais pas précisé, tout ça en VBA :s
15 oct. 2014 à 15:25
15 oct. 2014 à 15:39