Se connecter avec
S'enregistrer | Connectez-vous

Selectionner ligne identique sur autre feuille

Dernière réponse : dans Programmation

Bonjour,
Je suis débutant en VBA, et je bloque sur ce problème: Je cherche à sélectionner la ligne identique sur une autre feuille, sachant que le N° de ligne choisie est aléatoire et qu'un userform s'ouvre entre les 2 feuilles.
Exemple:si je choisi Range("A5")dans sheet1 puis userform s'ouvre avec donnés range ("B5")("C5")...,cela implique de copier les donnés sur la ligne 5 sheet2.
C'est la sélection de la ligne choisie(sheet1) que je n'arrive pas tranposer en sheet2 car aléatoire.
Votre aide me serait précieuse.
Lassé par la pub ? Créez un compte

Meilleure solution


j'ai réussi ! :pt1cable: 
En fait, je me suis servi du userform qui capte le N° de ligne active sur un Label(caché) et récupère la valeur pour sélectionner la ligne sur l'autre feuille.

Macro sheet1:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.  
  3. '**active couleurs**
  4.  
  5. If Not Intersect([planning], Target) Is Nothing Then
  6. On Error Resume Next
  7. Target.Interior.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
  8. End If
  9. If Not Intersect([planning], Target) Is Nothing Then
  10. On Error Resume Next
  11. Target.Font.ColorIndex = [couleurs].Find(Target, LookAt:=xlWhole).Font.ColorIndex
  12. End If
  13.  
  14. '**Congés Fractionnés**
  15.  
  16. If ActiveCell.Value = Worksheets("Paramètres").Range("D35") Then '"CF"
  17. ActiveSheet.Rows(ActiveCell.Row).Select
  18. ActiveCell.Select
  19. UserForm1.Show 'vbModeless
  20. ElseIf ActiveCell.Value = Worksheets("Paramètres").Range("D29") Then '"HS"
  21. ActiveSheet.Rows(ActiveCell.Row).Select
  22. ActiveCell.Select
  23. UserForm1.Show 'vbModeless
  24.  
  25. End If
  26.  
  27. End Sub


Macro userform:
  1. Private Sub CommandButton2_Click()
  2.  
  3. Dim Valeur As String
  4.  
  5. If UserForm1.ComboBox2.Value = "" Then
  6. MsgBox " Vous n'avez rien sélectionné ! "
  7. Exit Sub
  8. ElseIf UserForm1.TextBox1.Value = "" Then
  9. MsgBox " Saisie imcomplète ! . "
  10. Exit Sub
  11. ElseIf UserForm1.TextBox2.Value = "" Then
  12. MsgBox " Saisie imcomplète ! . "
  13. Exit Sub
  14. End If
  15.  
  16. Application.ScreenUpdating = False
  17.  
  18. 'MsgBox (Label3.Caption) 'Vérifie le N° de ligne
  19. Label3.Caption = ActiveSheet.Rows(ActiveCell.Row).Address
  20. Worksheets("DataCF").Select
  21. Range(Label3.Caption).Select
  22. ActiveSheet.Rows(ActiveCell.Row).Select 'sélectionne ligne n
  23. ActiveCell.Select 'sélectionne ligne n colonne A

Ce n'est peut-être pas "catholique" en VBA mais le principal, c'est que cela fonctionne :ange: 
Si il y a plus simple(sans passer par le userform), je suis preneur.
Lassé par la pub ? Créez un compte