Vba

Bonjour,
je veux définir une plage de cellule, j'ai écrit de code
il bug : Application-defined or object-defined error

Set source1 = Sheets("PIP").Range(Cells(2, 1), Cells(a - 1, 1))

quelqu'un peut m'aider ?
Configuration: Windows / Chrome 73.0.3683.103

2 réponses

  1. Contributeur Ambassadeur
    bonjour, je suppose que tu ne montres qu'une partie de ton code, est-ce le cas?
    as-tu mis
    option explicit
    en début de module?
    0
    1. voilàa la totalité du code

      Private Sub CommandButton4_Click()
      Dim cell As Range
      Dim rg As Range
      Dim a As Long
      Dim derlig As Long
      Dim source1 As Range
      Dim dest As Range
      'Dim PIP As Worksheet

      For Each cell In Sheets("PIP").Range("A2:A" & Rows.Count)
      If cell.Value = "" Then
      a = cell.Row
      Exit For
      End If
      Next

      Set source1 = Sheets("PIP").Range(Cells(2, 1), Cells(a - 1, 1))
      derlig = Sheets("His").Range("N1048576").End(xlUp).Row + 1
      Set dest = Sheets("His").Cells(derlig, 14)
      For Each rg In source
      dest = rg
      Cells(rg.Row, 5).Copy Sheets("his").Cells(derlig, 15)
      Sheets("His").Cells(derlig, 16) = Date
      Set dest = dest.Offset(1, 0)
      next
      end sub
      0
      1. Contributeur Ambassadeur
        as-tu mis option explicit en début de module?
        quelle est la valeur de a au moment où tu as l'erreur?
        0
      2. a = 9 est c'est la valeur que je cherche en fait , non je n'ai pas mis option explicit
        0
      3. je l'ai mis tout à l'heure mais ça ne fonctionne pas aussi
        0
      4. Contributeur Ambassadeur
        @maynou24quand tu partages du code, merci de choisir le type "basic" pour du vba.
        suggestion:
        Set source1 = Range(Sheets("PIP").Cells(2, 1), Sheets("PIP").Cells(a - 1, 1))

        c'est aussi une bonne idée de faire:
        Dim PIP As Worksheet
        Set PIP = Sheets("PIP")
        Set source1 = Range(PIP.Cells(2, 1), PIP.Cells(a - 1, 1))
        0
      5. merci pour votre interaction, mais la même erreur apparait encore :(
        0