Selectionner une ligne avec InputBox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Neptune64

XLDnaute Nouveau
Bonjour

Qui pourrais m'aider, j'ai un petit problème avec cette macro, qui n'est pas de moi mais que j'essaie d'adapter à mes besoin.
Elle fonctionne très bien quand je met un chiffre ou un mot à, If Rw.Cells(1, 2).Value = "19" Then, ici exemple le 19. Moi j'aimerais utiliser le "InputBox" pour sélectionner la ligne que je voudrais déplacer et supprimer ensuite. Mais quand je mets : config à la place du "19" ça ne marche pas !!!

Merci

Sub COPY_SAVE_LIGNES()

' COPIE DES LIGNES DESIREES DANS LES FEUILLES DE CALCUL DEDIEES

Dim Rw As Range
Dim Ligne As Long
Dim config, derli, r



' Sélectionne l'ensemble des données (utile pour qu'Excel ne "réfléchisse" pas sur les 65000 lignes)

Sheets("All datas").Select
ActiveCell.SpecialCells(xlLastCell).Select
Range(Selection, Cells(1)).Select

config = InputBox("Write the Config number that you would like deleted:")
If config = "" Then
MsgBox "You stopped the process delete customer"
Exit Sub
End If



' Boucle qui va passer sur chaque ligne de la sélection afin de déterminer si des lignes contiennent le flag voulu
' puis copie dans une deuxième feuille de calcul

For Each Rw In Selection.Rows

Ligne = Rw.Row


If Rw.Cells(1, 2).Value = "19" Then
Rw.Copy Destination:=Worksheets("Old Customer").Cells(Ligne, 1).EntireRow
End If

Next Rw

' Supression des lignes vierges dans les feuilles de calcul récemment constituées

Sheets("Old Customer").Activate

With ActiveSheet.UsedRange
derli = .Row + .Rows.Count - 1
End With
Application.ScreenUpdating = False
For r = derli To 1 Step -1
If Application.CountA(Rows(r)) = 0 Then Rows(r).Delete
Next r


Application.StatusBar = "- 20% - Macro en cours d'exécution, merci de patienter."


End Sub
 
Re : Selectionner une ligne avec InputBox

Bonjour Neptune
If Rw.Cells(1, 2).Value = "19" Then
Rw.Copy Destination:=Worksheets("Old Customer").Cells(Ligne, 1).EntireRow
End If
j'ai quand même des doutes sur le fonctionnement correct lorsque 19 se trouve entre guillemets
en remplaçant "19" par config, ça devrait fonctionner

à+
 
Re : Selectionner une ligne avec InputBox

Bonjour à tous
Je suspecte un problème de type de variable. Testez par exemple ce code en plaçant une valeur quelconque (nombre ou texte) en A1:
Code:
[COLOR="DarkSlateGray"]Sub ccc()
Dim entrée_1, entrée_2 [B]As String[/B]
   entrée_1 = InputBox("Valeur ?", , 0)
   entrée_2 = entrée_1
   If Cells(1, 1) = entrée_1 Then Cells(1, 1).Copy Destination:=Cells(2, 1) Else Cells(2, 1) = Empty
   If Cells(1, 1) = entrée_2 Then Cells(1, 1).Copy Destination:=Cells(2, 2) Else Cells(2, 2) = Empty
End Sub[/COLOR]
Le code demande une valeur, la place dans entrée_1 et entrée_2. Il compare ces variables à A1 et copie ou non la valeur de A1 en A2 et B2 en fonction du résultat de la comparaison.​
ROGER2327
 
Re : Selectionner une ligne avec InputBox

Bonjour Roger
Merci pour la réponse, maintenant ça marche. J'ai nommé comme ceci:
config_1 = InputBox("Write the Config number that you would like deleted:")
If config_1 = "" Then
MsgBox "You stopped the process delete customer"
Exit Sub
End If

config_2 = config_1
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
907
Réponses
3
Affichages
882
Retour