VBA, Range Select

Bonjour,

dans cette formule, est-il possible (dans la ligne surlignée) de sélectionner uniquement les cellules commençant par A (par exemple) ? Merci

Sheets("Bilan").Select
Range("H3:H110").Select <---- Sélectionner les cellules commençant par A
Selection.Copy
Sheets("AV").Select
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range("$B$2:$B$110").RemoveDuplicates Columns:=1, Header:=xlNo
Range("A1").Select

Hello,

Pas directement, voici une proposition :

Sheets("Bilan").Select
Dim strAdress As String  
For Each C In Range("h3", "h110")
    If Left(C.Value, 1) = "A" Then strAdress = strAdress & C.Address & ","
Next C
strAdress = Left(strAdress, Len(strAdress) - 1)
Range(strAdress).Select
Selection.Copy
Sheets("AV").Select
Range("B2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range("$B$2:$B$110").RemoveDuplicates Columns:=1, Header:=xlNo
Range("A1").Select

Bonsoir à tous,

À tester :

Sub CopyCellsStartingWithA()
    Dim rng As Range
    Dim cell As Range
    Dim wsBilan As Worksheet
    Dim wsAV As Worksheet
    Dim nextRow As Long

    Set wsBilan = ThisWorkbook.Sheets("Bilan")
    Set wsAV = ThisWorkbook.Sheets("AV")

    Set rng = wsBilan.Range("H3:H110")
    nextRow = wsAV.Cells(wsAV.Rows.Count, "B").End(xlUp).Row + 1 'Find the next empty row in column B

    For Each cell In rng
        If Left(cell.Value, 1) = "A" Then
            cell.Copy Destination:=wsAV.Cells(nextRow, "B")
            nextRow = nextRow + 1
        End If
    Next cell

    wsAV.Range("$B$2:$B$" & nextRow - 1).RemoveDuplicates Columns:=1, Header:=xlNo
End Sub

Au top ! les 2 versions fonctionnent au poil, merci pour vos réponses rapides.

Rechercher des sujets similaires à "vba range select"