treza88
XLDnaute Occasionnel
Bonjour à tous,
Pouvez vous me dire pourquoi j'ai cette erreur sur la dernière ligne du code alors que mes deux autres plages sont remplies correctement et avec le même format.
Par contre elles viennent de 2 feuille différente, est ce là le soucis ?
Si oui comment puis je les concaténer ?
Pouvez vous me dire pourquoi j'ai cette erreur sur la dernière ligne du code alors que mes deux autres plages sont remplies correctement et avec le même format.
Par contre elles viennent de 2 feuille différente, est ce là le soucis ?
Si oui comment puis je les concaténer ?
VB:
filePath = "C:\Users\THOMESHE\Documents\Sauvegarde Dev\Fichier Excel\Plan de charge\14_11_2025\Plan de charge.xlsm"
If filePath <> "False" Then ' Ouvrir le classeur source en lecture seule
Set wbSource = Workbooks.Open(Filename:=filePath, ReadOnly:=True)
Set wsSource = wbSource.Sheets("Terminés")
For i = 1 To 2
If i = 2 Then
Set wsSource = wbSource.Sheets("Charges")
num = 0
End If
Application.CutCopyMode = False
MsgBox wsSource.Name
' Définir la plage à copier
Set sourcePlage = wsSource.Range("A6:" & wsSource.Cells(Rows.Count, 3).End(xlUp).Address, "E6:" & wsSource.Cells(Rows.Count, 7).End(xlUp).Address) ' Remplacez par votre plage de cellules
nbLignesPlage = 0
nbLignesPlage = sourcePlage.Rows.Count
MsgBox nbLignesPlage
'Stop
' Boucler sur chaque ligne de la plage
For Each ligne In sourcePlage.Rows
'MsgBox ligne.Address
'Stop
lign = False
' Exécuter une action sur la cellule courante
For Each cell In ligne.Cells
If Split(cell.Address, "$")(1) = "A" Then
'MsgBox cell.Text & " " & cell.Address
' Stop
If Trim(cell.Text) = "T" Or Trim(cell.Text) = "P" Or Trim(cell.Text) = "t" Or Trim(cell.Text) = "p" Then
num = num + 1
lign = True
Set strRng = ligne
' MsgBox strRng.Address
End If
End If
'Stop
Next cell
If lign Then
'MsgBox "ok"
If i = 1 Then
If num = 1 Then
Set plageUnion1 = strRng
Else
Set plageUnion1 = Union(plageUnion1, strRng)
End If
Else
If num = 1 Then
Set plageUnion2 = strRng
Else
Set plageUnion2 = Union(plageUnion2, strRng)
End If
End If
'MsgBox plageUnion.Address
'Stop
End If
Next ligne
Next i
Set plageUnion = Union(plageUnion1, plageUnion2)