Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Autres Message box pour activer macro et eviter plusieur boutons.

LUYGYS

XLDnaute Occasionnel
Bonjour!
j' aimerai ajouter une message box, a du code vba que je joint en piéce jointe, qui permettrait d 'éviter d' avoir trop de boutons de commande ,
donc un message BOX qui donnerai la valeur a chercher au filtre pour lancer le code dans le code joint.

Je ne sais pas comment faire il y aurait quelqu' un qui saurait le faire !
merci d'avance.

LUYGYS
 

Pièces jointes

  • Sub FiltrerII.docx
    10.4 KB · Affichages: 5

Staple1600

XLDnaute Barbatruc
Re

Tiens c'est marrant des bouts de VBA dans ce code me disent quelque chose
VB:
Sub FiltrerII()
Dim vCrit
vCrit = ActiveSheet.Shapes(Application.Caller).Name
[A4:M600] = ""
Sheets("DATA").Range("$D$3:$M$600").AutoFilter Field:=3, Criteria1:=vCrit
Sheets("DATA").AutoFilter.Range.Copy Destination:=Sheets("DASH BORD").Range("C3")
Sheets("DATA").ShowAllData
Columns(15).AutoFit
On Error Resume Next
Application.ScreenUpdating = False
'recopie du logo
ActiveSheet.Shapes("LOGO").Delete
Sheets("LOGOS").Shapes(vCrit).Copy
[a1].Select
ActiveSheet.Paste
With Selection
.Name = "LOGO"
.ShapeRange.Left = [a1].Left
.ShapeRange.Right = [a1].Right
.ShapeRange.Top = [a1].Top
End With
[S1].Select
Application.CutCopyMode = False
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Alors, je rajoute d'autres bouts (si j'ai bien compris la question )
VB:
Sub FiltrerIII()
Dim vCrit
vCrit = InputBox("Saisir votre critère de filtre,svp", "Filtrer", Application.UserName)
[A4:M600] = ""
With Sheets("DATA")
  .Range("$D$3:$M$600").AutoFilter 3, vCrit
  .AutoFilter.Range.Copy Destination:=Sheets("DASH BORD").Range("C3")
  .ShowAllData
End With
Columns(15).AutoFit
On Error Resume Next
Application.ScreenUpdating = False
'recopie du logo
ActiveSheet.Shapes("LOGO").Delete
Sheets("LOGOS").Shapes(vCrit).Copy
[a1].Select
ActiveSheet.Paste
With Selection
.Name = "LOGO"
.ShapeRange.Left = [a1].Left
.ShapeRange.Right = [a1].Right
.ShapeRange.Top = [a1].Top
End With
[S1].Select
Application.CutCopyMode = False
End Sub
 

LUYGYS

XLDnaute Occasionnel
Bonjour !
Ah oui j ai juste copie le code du vba et cole sur word pour que on puisse regarder le code et eventuelment et rajouter un message box comme demande. ce code je l' avais copier par une copie d ecran et colle dans la feuille visual basic .
LUYGYS
 

LUYGYS

XLDnaute Occasionnel
Rebonjour Je crois que vous avez tout compris test essaie et ca marche NICKEL... d' ailleurs je vois que vous vous et reconnaissez dans vos écritures
le code VBA initial je crois que ca vient de vous .... chears.

LUYGYS
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…