Private Sub traitons(t As Range) Dim r As Range, tut As String For Each r In t.Rows If r.EntireRow.Hidden = True Then GoTo line1 If sele "" Then tut "@" Else tut = ""
End Select line1: Next
J'ai entré ma "mixture" telle que je viens de te l'envoyer dans mon appli,
ET TOUT MARCHE !
Private Sub CommandButton1_Click() MultiRow End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) With Selection Range("C1") = Selection.Address End With End Sub
Sub MultiRow() 'Copie GLOBALE de sélection multiple de différentes lignes entières 'Reprise des lignes sélectionnées reportées en C1 SEL = Workbooks("Classeur1").Sheets(1).Range("C1").Value 'Copiage de la sélection faite dans le classeur1 (on pourrait s'en passer??) Workbooks("Classeur1").Sheets(1).Range(SEL).Copy 'Destination du collage dans le classeur2 'Dernière ligne non vide (accueil des copies dans le classeur2) Last = Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Row 'Correctif pour la toute première ligne If Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Value <> "" Then Last = Last + 1 'Range("A" & Last).Select 'Collage de la sélection faite dans classeur1 vers le classeur2 en première ligne vide Workbooks("Classeur1").Sheets(1).Range(SEL).Paste Destination:=Workbooks("Classeur2").Sheets(1).Range("A" & Last) End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) With Selection rw = ActiveCell.Row If Range("E" & rw) = 1 Then Exit Sub Range("C1").Value = Range("C1").Value & ActiveCell.Row & ":" & ActiveCell.Row & "," Range("E" & rw) = 1 End With End Sub
Range("D1").Value = Left(Cells(1, 3).Value, Len(Cells(1, 3).Value) - 1)ne donne pas un résultat exploitable pour une sélection unique(????)
Private Sub CommandButton1_Click() MultiRow End Sub
Sub MultiRow() SEL = Workbooks("Classeur1").Sheets(1).Range("D1").Value Range(SEL).Select Selection.Copy Windows("Classeur2").Activate Range("A1").Select ActiveSheet.Paste Windows("Classeur1").Activate Application.CutCopyMode = False End Sub
Sub NewMultiRow() SEL = Workbooks("Classeur1").Sheets(1).Range("D1").Value Workbooks("Classeur1").Sheets(1).Range(SEL).Copy Last = Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Row If Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Value <> "" Then Last = Last + 1 ActiveSheet.Paste Destination:=Workbooks("Classeur2").Sheets(1).Range("A" & Last) End Sub
montre un exemple de Selectionchange utilisant le "With" DIRECTEMENT .
Private Sub Worksheet_SelectionChange(ByVal Target As Range) rw = ActiveCell.Row If Range("E" & rw) = 1 Then Exit Sub Range("C1").Value = Range("C1").Value & ActiveCell.Row & ":" & ActiveCell.Row & "," Range("E" & rw) = 1 End Sub
Workbooks("Classeur1").Sheets(1).Range(SEL).Copy
SEL = Left(Cells(1, 3).Value, Len(Cells(1, 3).Value) - 1)
Sub MultiRow() 'Reprise des indexes des lignes sélectionnées reportées en C1 moins la dernière virgule SEL = Left(Cells(1, 3).Value, Len(Cells(1, 3).Value) - 1) 'Copiage de la sélection dans le classeur1 Workbooks("Classeur1").Sheets(1).Range(SEL).Copy 'Destination du collage dans le classeur1 'Dernière ligne non vide (accueil des copies dans le classeur1) Last = Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Row 'Correctif pour la toute première ligne If Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Value <> "" Then Last = Last + 1 'Collage de la sélection dans classeur1 vers le classeur2 en première ligne vide ActiveSheet.Paste Destination:=Workbooks("Classeur2").Sheets(1).Range("A" & Last) End Sub
Last = Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Row 'Correctif pour la toute première ligne If Workbooks("Classeur2").Sheets(1).Range("A65536").End(xlUp).Value <> "" Then Last = Last + 1
'Correctif pour la toute première ligneet la ligne If <>""
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each cell In Selection rw = cell.Row If Range("E" & rw) <> 1 Then cell.Font.Bold = True cell.Interior.ColorIndex = 6 Range("C1").Value = Range("C1").Value & cell.Row & ":" & cell.Row & "," Range("E" & rw) = 1 End If Next End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each cell In Selection If Range("E" & cell.Row) <> 1 Then cell.Font.Bold = True cell.Interior.ColorIndex = 6 Range("C1").Value = Range("C1").Value & cell.Row & ":" & cell.Row & "," Range("E" & cell.Row) = 1 End If Next End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) For Each cell In Selection If Range("E" & cell.Row).Value <> 1 Then cell.Font.Bold = True cell.Interior.ColorIndex = 6 Range("C1").Value = Range("C1").Value & cell.Row & ":" & cell.Row & "," Range("E" & cell.Row).Value = 1 Else Init = Range("C1").Value Supr = cell.Row & ":" & cell.Row & "," Repl = "" Range("C1").Value = Replace(Init, Supr, Repl) Range("E" & cell.Row).Value = "" cell.Font.Bold = False cell.Interior.ColorIndex = xlNone End If Next End Sub