derlign1 = Sheets("Fiche_machine").Range("B" & Rows.Count).End(xlUp).Row 'renvoie la dernière ligne de la colonne B du classeur Fiche_machine derlign2 = Sheets("Maxituo").Range("A" & Rows.Count).End(xlUp).Row 'renvoie la dernière ligne de la colonne A du classeur Maxituo Sheets("Fiche_machine").Range("C22:D" & derlign1).ClearContents 'effacer le contenu des action todolist ,retrofit... tablo1 = Sheets("Fiche_machine").Range("A22:D" & derlign1) tablo2 = Sheets("Maxituo").Range("A3:K" & derlign2) For i = 1 To UBound(tablo1) For j = 1 To UBound(tablo2) If Sheets("Fiche_machine").Range("A1") = tablo2(j, 2) Then If tablo1(i, 2) = tablo2(j, 1) Then If tablo1(i, 1) = tablo2(j, 5) Then If tablo2(j, 8) <= 14 Then tablo1(i, 3) = tablo2(j, 3) End If End If End If End If Next j Next i Sheets("Fiche_machine").Range("A22:C" & derlign1) = tablo1 End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSheets("Fiche_machine").Range("C22:D" & derlign1).Value = vbNullString
If ... Then numLigne(ligne) = numLigne(ligne) + 1 if numLigne(ligne) < 4 then tablo1(i + numLigne(ligne) -1, 3) = tablo2(j, 3) End If End If
derlign1 = Sheets("Fiche_machine").Range("B" & Rows.Count).End(xlUp).Row derlign2 = Sheets("Maxituo").Range("A" & Rows.Count).End(xlUp).Row tablo1 = Sheets("Fiche_machine").Range("A22:D" & derlign1) tablo2 = Sheets("Maxituo").Range("A3:K" & derlign2) For i = 1 To UBound(tablo1) For j = 1 To UBound(tablo2) If Sheets("Fiche_machine").Range("A1") = tablo2(j, 2) Then If tablo1(i, 2) = tablo2(j, 1) Then If tablo1(i, 1) = tablo2(j, 5) Then If tablo2(j, 8) <= 14 Then numligne(ligne) = numligne(ligne) + 1 If numligne(ligne) < 4 Then tablo1(i + numligne(ligne) - 1, 3) = tablo2(j, 3) End If End If End If End If End If Next j Next i Sheets("Fiche_machine").Range("A22:C" & derlign1) = tablo1
Sub Fichemach() Dim numligne(3) As Integer Dim i As Long Dim j As Long derlign1 = Sheets("Fiche_machine").Range("B" & Rows.Count).End(xlUp).Row derlign2 = Sheets("Maxituo").Range("A" & Rows.Count).End(xlUp).Row tablo1 = Sheets("Fiche_machine").Range("A22:C" & derlign1) tablo2 = Sheets("Maxituo").Range("A3:K" & derlign2) Sheets("Fiche_machine").Range("C22:C" & derlign1).ClearContents For i = 1 To UBound(tablo1) For j = 1 To UBound(tablo2) For k = 1 To UBound(numligne) If Sheets("Fiche_machine").Range("A1") = tablo2(j, 2) Then If tablo1(i, 1) = tablo2(j, 5) Then If tablo1(i, 2) = tablo2(j, 1) Then If tablo2(j, 8) <= 14 Then numligne(k) = numligne(k) + 1 If numligne(k) < 5 Then tablo1(i + numligne(k) - 1, 3) = tablo2(j, 3) End If End If End If End If End If Next k Next j Next i Sheets("Fiche_machine").Range("A22:C" & derlign1) = tablo1 End Sub
quand on change de groupe de conditions
Sub Fichemach() Dim numligne(3) As Variant Dim i As Long Dim j As Long derlign1 = Sheets("Fiche_machine").Range("B" & Rows.Count).End(xlUp).Row derlign2 = Sheets("Maxituo").Range("A" & Rows.Count).End(xlUp).Row tablo1 = Sheets("Fiche_machine").Range("A22:C" & derlign1) tablo2 = Sheets("Maxituo").Range("A3:K" & derlign2) Sheets("Fiche_machine").Range("C22:C" & derlign1).ClearContents For i = 1 To UBound(tablo1) For j = 1 To UBound(tablo2) If Sheets("Fiche_machine").Range("A1") = tablo2(j, 2) Then If tablo1(i, 1) = tablo2(j, 5) Then If tablo1(i, 2) = tablo2(j, 1) Then If tablo2(j, 8) <= 14 Then numligne(i) = numligne(i) + 1 If numligne(i) < 5 Then tablo1(i + numligne(i) - 1, 3) = tablo2(j, 3) End If End If End If End If End If Next j Next i Sheets("Fiche_machine").Range("A22:C" & derlign1) = tablo1 End Sub
For i = 1 To UBound(tablo1) For j = 1 To UBound(tablo2) If Sheets("Fiche_machine").Range("A1") = tablo2(j, 2) Then If tablo1(i, 2) = tablo2(j, 1) Then If tablo1(i, 1) = tablo2(j, 5) Then If tablo2(j, 8) <= 14 Then tablo1(i, 3) = tablo2(j, 3) '<=== réflexion/décision End If End If End If End If Next j Next i
Dim numCol() As Long derlign1 = ..... ReDim numCol(derlign1) ' lorsque la condition est remplie If tablo2(j, 8) <= 14 Then numCol(i) = numCol(i) + 1 tablo1(i, 8) = numCol(i) ' total en colonne H If numCol(i) < 6 Then tablo1(i, 2 + numCol(i)) = tablo2(j, 3) ' colonnes C...G Endif End If
serais-tu un adepte de l'adage "l'avenir appartient à ceux qui se lèvent tôt" ?
et j'attaque demain matin