Ajout d'une inputbox
draegurg
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'aimerais amélioré les macros de mon fichier en ajoutant une input box à mes macros.
la macro 2 tri mon tableau de H a AZ les nombres qui sont entre 1 et 30 puis supprimes les autres lignes puis elle fait un tri dans la colonne D et enfin tri la colonne A.
J'aimerais inclure une fenêtre quand j'appuie sur le bouton "faire le tri" qui me demande de faire le tri de 1 à ???
et dans la macro 3 le même chose mais de ??? à ???.
Est ce possible?
En vous remerciant par avance de votre aide.
Sub Macro2()
Application.ScreenUpdating = False
With ActiveSheet.Range("B3:B550")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=NB.SI.ENS(($H3:$AZ3);"">=1"";($H3:$AZ3);""<=30"")>0"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 192, 0)
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
End With
With ActiveSheet.Range("$A$2:$AZ$550")
.AutoFilter Field:=2, Criteria1:=RGB(255, 192, 0), Operator:=xlFilterCellColor
.AutoFilter Field:=4, Criteria1:="Disponible"
End With
With ActiveSheet
With .AutoFilter
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A2"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.Sort.Apply
End With
End With
Application.ScreenUpdating = True
End Sub
j'aimerais amélioré les macros de mon fichier en ajoutant une input box à mes macros.
la macro 2 tri mon tableau de H a AZ les nombres qui sont entre 1 et 30 puis supprimes les autres lignes puis elle fait un tri dans la colonne D et enfin tri la colonne A.
J'aimerais inclure une fenêtre quand j'appuie sur le bouton "faire le tri" qui me demande de faire le tri de 1 à ???
et dans la macro 3 le même chose mais de ??? à ???.
Est ce possible?
En vous remerciant par avance de votre aide.
Sub Macro2()
Application.ScreenUpdating = False
With ActiveSheet.Range("B3:B550")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, _
Formula1:="=NB.SI.ENS(($H3:$AZ3);"">=1"";($H3:$AZ3);""<=30"")>0"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = RGB(255, 192, 0)
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
End With
With ActiveSheet.Range("$A$2:$AZ$550")
.AutoFilter Field:=2, Criteria1:=RGB(255, 192, 0), Operator:=xlFilterCellColor
.AutoFilter Field:=4, Criteria1:="Disponible"
End With
With ActiveSheet
With .AutoFilter
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A2"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.Sort.Apply
End With
End With
Application.ScreenUpdating = True
End Sub
6 réponses
Bonjour,
voir Référence cellule pour sélectionner une plage:
https://forums.commentcamarche.net/forum/affich-37636380-vba-inputbox#cas-particulier-la-methode-application-inputbox
voir Référence cellule pour sélectionner une plage:
https://forums.commentcamarche.net/forum/affich-37636380-vba-inputbox#cas-particulier-la-methode-application-inputbox
Bonjour draegurg,
Merci pour le fichier.
Je vais étudier le fonctionnement de votre code pour être en mesure de vous faire une proposition. C'est pour demain.
Note: je constate que vous avez 2 macros qui porte le même nom, merci de me préciser le pourquoi ????
Bonne soirée.
Salutations.
Le Pingou
Merci pour le fichier.
Je vais étudier le fonctionnement de votre code pour être en mesure de vous faire une proposition. C'est pour demain.
Note: je constate que vous avez 2 macros qui porte le même nom, merci de me préciser le pourquoi ????
Bonne soirée.
Salutations.
Le Pingou
Le Pingou,
entre le module 1 et le module 4 oui c'est pratiquement la même je voulais voir si il cela faisait une différence. mais sur le fichier originel j'en ai gardé qu'une
Pour ta solution merci c'est impeccable mais si je peux t’embêter encore quelques minutes si c'est possible.
quand je clic sur vider cela m'efface tout mais j'aimerais garder une mise en page des cellules centré avec si possible les MFC.
tu penses que je dois modifier la macro du module3 ou l'intégré dans ta macro? la macro 3 sera peut être plus simple à faire pour moi
En attendant je te remercie encore une fois pour ton aide.
Bonne soirée
entre le module 1 et le module 4 oui c'est pratiquement la même je voulais voir si il cela faisait une différence. mais sur le fichier originel j'en ai gardé qu'une
Pour ta solution merci c'est impeccable mais si je peux t’embêter encore quelques minutes si c'est possible.
quand je clic sur vider cela m'efface tout mais j'aimerais garder une mise en page des cellules centré avec si possible les MFC.
tu penses que je dois modifier la macro du module3 ou l'intégré dans ta macro? la macro 3 sera peut être plus simple à faire pour moi
En attendant je te remercie encore une fois pour ton aide.
Bonne soirée
Bonjour,
Ma proposition utilise une macro [module : lepingou , Sub Filtrer_Trier_convoc_1_2()]pour les 2 convocations et j’ai modifier un peu votre code.
Votre classeur : https://www.cjoint.com/c/KLgjYjeCccn
Ma proposition utilise une macro [module : lepingou , Sub Filtrer_Trier_convoc_1_2()]pour les 2 convocations et j’ai modifier un peu votre code.
Votre classeur : https://www.cjoint.com/c/KLgjYjeCccn
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci du retour. Je vais regarder la procédure pour vider et voir si possible faire selon votre demande. !
Par la suite merci d'utiliser la commande [Répondre] ce qui permet un meilleur suivi des postes (exemple vous avez le 6 qui répond au 5 mais qui se trouve avant celui-ci... !
Remarque : la macro3 qui est sensé vider les données ne fonctionne pas ou alors vous avez un autre code!
Merci de votre retour !
Merci du retour. Je vais regarder la procédure pour vider et voir si possible faire selon votre demande. !
Par la suite merci d'utiliser la commande [Répondre] ce qui permet un meilleur suivi des postes (exemple vous avez le 6 qui répond au 5 mais qui se trouve avant celui-ci... !
Remarque : la macro3 qui est sensé vider les données ne fonctionne pas ou alors vous avez un autre code!
Merci de votre retour !
les valeurs sont des jours, kilomètres et horamètres
J'aimerais inclure une inputbox et inclure la valeur saisie dans la formule au lieu du 30.
Car pour l'instant la macro de convoc1 traite de 1 à 30 les valeurs et si je veux modifié la périodicité je suis obligé de modifier ma formule à chaque fois.
et faire la même chose pour convoc2 mais avec deux valeurs par exemple 35 et 70
En espérant avoir été compréhensible .
En te remerciant par avance.
https://www.cjoint.com/c/KLfm3TW6QrA