Copye vers un tableau qui ne fonctionne pas ... je sèche

Bonjour,

Si je rentre quelqu'un dans la chambre 528, si je valide l'entrée le patient ne va pas dans le tableau des chambres ...

Sub RempEntrees()

Dim i, j As Integer
Dim Inputs As Range
Dim Outputs As Range
Dim Rooms As Range
Dim Output As Range
Dim HistoryPosition As Range

Set Inputs = ActiveWorkbook.Names("Inputs").RefersToRange
Inputs.Copy

Set HistoryPosition = ActiveWorkbook.Sheets("Entrees").Range("A1").End(xlDown).Offset(1, 0)
HistoryPosition.PasteSpecial (xlPasteValues)

For i = 2 To 21 'le nombre de lignes de mon tableau Chambres
If ThisWorkbook.Sheets(2).Cells(i, 1) <> "" Then
For j = 12 To 17 'le nombre de lignes de mon tableau Entrées
            If ThisWorkbook.Sheets(1).Cells(j, 1) = ThisWorkbook.Sheets(2).Cells(i, 1) Then
                ThisWorkbook.Sheets(2).Range(Cells(i, 2), Cells(i, 9)) = ThisWorkbook.Sheets(1).Range(Cells(j, 2), Cells(j, 9)).Value
            End If
        Next j
    End If
Next i
Inputs.Columns("A:F").ClearContents
End Sub

j'ai une erreur sur cette ligne mais je ne comprend pas pourquoi :

ThisWorkbook.Sheets(2).Range(Cells(i, 2), Cells(i, 9)) = ThisWorkbook.Sheets(1).Range(Cells(j, 2), Cells(j, 9)).Value

je vous remercie encore une fois de votre aide

8eb-1-v4-test.xlsm (40.18 Ko)

Bonjour

A tester

Sub RempEntrees()

Dim i, j As Integer
Dim Inputs As Range
Dim Outputs As Range
Dim Rooms As Range
Dim Output As Range
Dim HistoryPosition As Range
Dim Ws1 As Worksheet, Ws2 As Worksheet

  Set Ws1 = ThisWorkbook.Sheets(1)
  Set Ws2 = ThisWorkbook.Sheets(2)

  Set Inputs = ActiveWorkbook.Names("Inputs").RefersToRange
  Inputs.Copy

  Set HistoryPosition = ActiveWorkbook.Sheets("Entrees").Range("A1").End(xlDown).Offset(1, 0)
  HistoryPosition.PasteSpecial (xlPasteValues)

  For i = 2 To 21  'le nombre de lignes de mon tableau Chambres
    If Ws2.Cells(i, 1) <> "" Then
      For j = 12 To 17  'le nombre de lignes de mon tableau Entrées
        If Ws1.Cells(j, 1) = Ws2.Cells(i, 1) Then
          Ws2.Range(Ws2.Cells(i, 2), Ws2.Cells(i, 9)) = Ws1.Range(Ws1.Cells(j, 2), Ws1.Cells(j, 9)).Value
        End If
      Next j
    End If
  Next i
  Inputs.Columns("A:F").ClearContents
End Sub

ça fonctionne, merci

Rechercher des sujets similaires à "copye tableau qui fonctionne pas seche"