With Sheets(...) non pris en compte

treza88

XLDnaute Occasionnel
Bonjour a tous,

J'ai un petit soucis sur une procedure et je ne comprend pas pourquoi j'utilise un with Sheets("...") pour travailler sur une feuille mais rien ne fonctionne l'operation ce fait sur la feuille active.

Voici ma procedure:

Code:
Private Sub CommandButton3_Click()
    Dim i As Integer
    Dim Adresse As String
    Dim Feuil As Worksheet
    Adresse = ComboBox3.Text
    If Application.CountIf(Sheets("Assemblages").Columns("C"), Adresse) >= 1 Then
        MsgBox "La donnée '" & "' existe déjà dans la cellule " & Adresse
    Else
        With Sheets("Assemblages")
            Dim premiereligne As Integer
            Dim derniereligne As Integer
            Dim x As Range
            Dim x2 As Variant
            Set x = Sheets(Nomfeuil).Range("B:B").Find(ComboBox2.Text, , xlValues, xlWhole, , , False)
            If Not x Is Nothing Then x2 = x.Address
            Range(x2).EntireRow.Insert Shift:=xlDown
            Range(x2).Offset(0, -1).Value = ComboBox1.Text
            Range(x2).Offset(0, 0).Value = ComboBox2.Text
            Range(x2).Offset(0, 1).Value = ComboBox3.Text
            Range(x2).Offset(0, 2).Value = Tb_Designation.Text
            '1ère ligne où commence les données
            i = Range(x2).Row
            premiereligne = i
            'définie que la dernière ligne à chercher commence à la ligne suivante
            derniereligne = i + 1
            'boucle tant que les 2 valeurs sont égales
            Do While Range("B" & derniereligne) = Range("B" & premiereligne)
                'en incrémentant à chaque passage la ligne
                derniereligne = derniereligne + 1
            Loop
            'selectionne de la première cellule à la dernière trouvée -1
            'sinon  selectionner la première différente et non la dernière égale !
            Range(Cells(premiereligne, 1), Cells(derniereligne - 1, 4)).Select
            'Trie Par ordre alphabetique la plage selectionner
            Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
                           OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                           DataOption1:=xlSortNormal
 
        End With
    End If
 
End Sub

Si quelqu'un vois d'ou cela peut venir car moi je pédale, Merci d'avance
 

Statistiques des forums

Discussions
312 294
Messages
2 086 899
Membres
103 404
dernier inscrit
sultan87