Boite dialogue , passage de parametres

Aladin

XLDnaute Occasionnel
Bonjour le forum
J' ai cette macro qui me permet de supprimer des lignes ayant une valeur précise qui sont 4 et 5 en colonne A
Sub K_Supp_lignes_v1()
Code:
Application.ScreenUpdating = False
Dim i As Long
Sheets("Contenu de répertoire").Select
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1) Like 6 Or Cells(i, 1) Like 7 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Au depart c' etait figé, mais aujourdh' hui si je veux supprimer les lignes ayant la valeu 6 de la colonne A je suis obligé de refaire une macro ne peux t' on passer ces valeurs en parametres style boite de dialogue ?

J' ai le meme souci avec un code de transfert d' images pour lequel si la valeur change en colonne A il faut modifier la macro.
Cette macro prend le nom de l' image en colonne B, associé avec la valeur 7 colonne A et range le nom de l' image en colonne C toujours associé à la valeur 7

Code:
Sub Transfert_Nom_Image()
Application.ScreenUpdating = False
Dim i As Long
Dim NbLigne As Long, NumLigne1 As Long, NumLigne2 As Long, Boucle As Long
Sheets("Contenu de répertoire").Select

For i = 1 To Range("B65536").End(xlUp).Row
    If Range("A" & i) = 8 Then
    NumLigne1 = i + 1
    NumLigne2 = Range("A" & i).End(xlDown).Row - 1
        For Boucle = NumLigne1 To NumLigne2
            If Right(Range("B" & Boucle), 3) = "jpg" Or Right(Range("B" & Boucle), 3) = "gif" Then
            Range("B" & Boucle).Copy
            Range("C" & i).PasteSpecial xlPasteValues
            End If
        Next Boucle
    End If
Next i
    
Application.ScreenUpdating = True
End Sub

Merci d' avance pour toute aide pour lla modif de passage en parametre des ces deux macros

Aladin
 

Nairolf

XLDnaute Accro
Re : Boite dialogue , passage de parametres

Salut Aladin, salut le forum,

Voici une solution afin de paramétrer ton code selon une valeur renseigné via une boîte dialogue:
En début de sub, tu peux ajouter le code: param = InputBox("valeur ?")
et utiliser la variable param selon ton besoin.

A noter que la fonction inputbox() à d'autres arguments que le texte (cf aide).
 

Aladin

XLDnaute Occasionnel
Re : Boite dialogue , passage de parametres

Bonjour le forum
J' ai effectivement pu faire mon inputbox, mais je ne peux entrer q' une seule valeur, exemple 4, Y a t' il un moyen de parametrer l' inputbox afin de lui passer en parametres plusieurs valeurs, exemple 4,5,6, ou existe til une autre solution
Aladin
 

Pierrot93

XLDnaute Barbatruc
Re : Boite dialogue , passage de parametres

Bonjour,

pour mettre plusieurs valeurs dans une "inputbox" :
Code:
Dim x As Variant
x = Application.InputBox("Valeurs ?" & vbCrLf & "format : {4;5;6}", Type:=64)
A noter le format à utiliser.... on peut également selectionner une plage de cellule sur la feuille représentant les valeurs...

bonne journée
@+
 

Aladin

XLDnaute Occasionnel
Re : Boite dialogue , passage de parametres

Bonjour Pierrot93
J' ai essayé d' appliquer ta suggestion mais j' ai des erreurs pricipalment au niveau de cells

Code:
Sub Matrice_Data_Supplignes()
Application.ScreenUpdating = Tr'  
'Param = InputBox("valeur ?")
Dim i As Long
Dim Vir As Variant
[COLOR="#0000FF"]Vir = Application.InputBox(prompt:="Entrez la valeur")[/COLOR]
[COLOR="#0000FF"][COLOR="#0000FF"][COLOR="#FF0000"]'Vir = Application.InputBox("Valeurs ?" & vbCrLf & "format : {4;5;6}", Type:=64)[/COLOR][/COLOR][/COLOR]
Sheets("Matrice_Data").Select
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1) Like Vir Then Rows(i).Delete

' Or Cells(i, 1) Like 7 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub


Aladin
 

Discussions similaires

Réponses
4
Affichages
421
Réponses
2
Affichages
298

Statistiques des forums

Discussions
314 659
Messages
2 111 623
Membres
111 236
dernier inscrit
vinthi