VBA: Fonction de ...à
Fermé
miriade97
Messages postés
5
Date d'inscription
mercredi 23 août 2017
Statut
Membre
Dernière intervention
6 septembre 2017
-
23 août 2017 à 15:46
miriade97 - 31 août 2017 à 13:48
miriade97 - 31 août 2017 à 13:48
A voir également:
- VBA: Fonction de ...à
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
- Vba range avec variable ✓ - Forum VB / VBA
4 réponses
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 259
Modifié le 23 août 2017 à 16:21
Modifié le 23 août 2017 à 16:21
Bonjour,
en colonne A uniquement ?
Texte seul dans la cellule ou pouvant seulement en faire partie ?
Si un seul des textes détecté, ne rien faire ou supprimer depuis début ou jusqu'à la fin ?
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
en colonne A uniquement ?
Texte seul dans la cellule ou pouvant seulement en faire partie ?
Si un seul des textes détecté, ne rien faire ou supprimer depuis début ou jusqu'à la fin ?
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
miriade97
Messages postés
5
Date d'inscription
mercredi 23 août 2017
Statut
Membre
Dernière intervention
6 septembre 2017
Modifié le 23 août 2017 à 16:37
Modifié le 23 août 2017 à 16:37
Bonjour,
Non, il y a du texte dans les colonnes A,B,C,D,E,F,G,H.
Pour illustrer mes propos j'ai pris un exemple simple.
Il y a que du texte dans les cellules et des nombres
J'ai pas compris la dernière question, toutefois le texte peut varier (ainsi que le nombre de ligne entre "Avant la journée" et"Après la journée". )
Non, il y a du texte dans les colonnes A,B,C,D,E,F,G,H.
Pour illustrer mes propos j'ai pris un exemple simple.
Il y a que du texte dans les cellules et des nombres
J'ai pas compris la dernière question, toutefois le texte peut varier (ainsi que le nombre de ligne entre "Avant la journée" et"Après la journée". )
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié le 23 août 2017 à 16:47
Modifié le 23 août 2017 à 16:47
Bonjour, Eric
ca faisait longtemps que nous nous étions croisés, Eric :)
essaies cette fonction personnalisée
dans ton cas si recherche dans colonneA
supprime_entre"avant la journée", "après la journée", "A")
Michel
ca faisait longtemps que nous nous étions croisés, Eric :)
essaies cette fonction personnalisée
Function supprime_entre(Debut As String, Fin As String, Colonne As String)
Dim Depart As Integer, Arret As Integer
On Error GoTo vide
Depart = Columns(Colonne).Find(what:=Debut, after:=Cells(1, Colonne), lookat:=xlWhole).Row
Arret = Columns(Colonne).Find(what:=Fin, after:=Cells(1, Colonne), lookat:=xlWhole).Row
Range(Cells(Depart, "A"), Cells(Arret, "H")).Delete
vide:
End Function
dans ton cas si recherche dans colonneA
supprime_entre"avant la journée", "après la journée", "A")
Michel
Bonjour michel_m,
L'appel de la fonction se ferait ainsi :
=supprime_entre("avant la journée", "après la journée", "A")
mais une fonction ne peut pas supprimer des lignes !
=> il faut convertir la Function en Sub.
Puis il faudra l'appeler ainsi :
supprime_entre "avant la journée", "après la journée", "A"
Je te laisse le soin de faire la conversion.
Cordialement
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 259
23 août 2017 à 18:33
23 août 2017 à 18:33
Salut michel,
C'est justement ce que je me disais il y a qq jours.
Je me demandais si c'était des vacances ou des ennuis de santé.
J'espère que tout va bien :-)
eric
C'est justement ce que je me disais il y a qq jours.
Je me demandais si c'était des vacances ou des ennuis de santé.
J'espère que tout va bien :-)
eric
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
>
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
24 août 2017 à 09:57
24 août 2017 à 09:57
Salut Eric
pour VBA: OK tu as raison ( j'avais fait une Sub "test" qui appelait la fonction et ca marchait) d'où mon incompréhension à la réaction de Miriade;
pour l'absence: j'étais comme tous les ans en cure de vieillerie thérapie ;o)
amicalement
pour VBA: OK tu as raison ( j'avais fait une Sub "test" qui appelait la fonction et ca marchait) d'où mon incompréhension à la réaction de Miriade;
pour l'absence: j'étais comme tous les ans en cure de vieillerie thérapie ;o)
amicalement
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
>
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
24 août 2017 à 10:16
24 août 2017 à 10:16
Bonjour Miriade
excuses mon erreur!
le code
et la maquette de travail
https://mon-partage.fr/f/OALImicg/
en espèrant que...
excuses mon erreur!
le code
Option Explicit
'----------------------------------------------
Function supprime_entre(Debut As String, Fin As String, Colonne As String)
'supprime les lignes définies à partir d'une valeur d'entrée et une valeur de sortie _
(incluses dans la suppression)
Dim Depart As Integer, Arret As Integer
Depart = Columns(Colonne).Find(what:=Debut, after:=Cells(1, Colonne), lookat:=xlWhole).Row
Arret = Columns(Colonne).Find(what:=Fin, after:=Cells(1, Colonne), lookat:=xlWhole).Row
Range(Cells(Depart, 1), Cells(Arret, 16384)).Delete
End Function
Sub test()
Sheets(1).Activate
On Error GoTo vide:
Call supprime_entre("papa", "maman", "A")
vide:
MsgBox " problème de définition d'une (des) limite(s) d'action", vbCritical
End Sub
et la maquette de travail
https://mon-partage.fr/f/OALImicg/
en espèrant que...
miriade97
Messages postés
5
Date d'inscription
mercredi 23 août 2017
Statut
Membre
Dernière intervention
6 septembre 2017
Modifié le 24 août 2017 à 13:17
Modifié le 24 août 2017 à 13:17
Bonjour à tous,
Je vous remercie.
Je vais regarder le fichier que tu m'as mis et je reviendrais vers vous.
Merci beaucoup pour votre aide
Je vous remercie.
Je vais regarder le fichier que tu m'as mis et je reviendrais vers vous.
Merci beaucoup pour votre aide
miriade97
Messages postés
5
Date d'inscription
mercredi 23 août 2017
Statut
Membre
Dernière intervention
6 septembre 2017
Modifié le 23 août 2017 à 17:25
Modifié le 23 août 2017 à 17:25
Bonjour,
Je te remercie pour ton temps Michel, mais comment la fonction peut effacer les lignes entre Avant la journée et après la journée?
Je te remercie pour ton temps Michel, mais comment la fonction peut effacer les lignes entre Avant la journée et après la journée?
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
23 août 2017 à 17:35
23 août 2017 à 17:35
bin, c'est ce que fait la fonction proposée....
comprends pas ta question :-/
comprends pas ta question :-/