Complément code VBA
Résolu
Saajo
-
Saajo -
Saajo -
Bonsoir,
Je souhaiterais sélectionner une plage de cellule A10:F59, seulement je ne sais pas comment le remplacer à la place d'une sélection de ligne ci-dessous:
Ci-dessous code complet de la macro:
Merci d'avance pour votre aide.
Bien à vous,
Saajo
Je souhaiterais sélectionner une plage de cellule A10:F59, seulement je ne sais pas comment le remplacer à la place d'une sélection de ligne ci-dessous:
' Si la ligne entière n'est pas vide : If WorksheetFunction.CountA(ActiveSheet.Rows(l)) > 0 Then
Ci-dessous code complet de la macro:
Sub CheckEntries()
Dim valCel As Range
Dim message As String
message = "Veuillez corriger les cellules suivantes :"
'boucle sur les lignes 10 à 59
For l = 10 To 59
' Si la ligne entière n'est pas vide :
If WorksheetFunction.CountA(ActiveSheet.Rows(l)) > 0 Then
'condition si colonne B et E contient un nombre alors aller à la boucle colonnes
If IsNumeric(Cells(l, 2)) And IsNumeric(Cells(l, 5)) Then
'boucle sur les colonnes 1 à 6 ( A à F )
For c = 1 To 6
Set valCel = Cells(l, c)
If IsEmpty(valCel) Or valCel.Value = "" Then
message = message & vbCrLf & valCel.Address(RowAbsolute:=False, ColumnAbsolute:=False)
End If
'si ensemble cellule vide alors surbrillance rouge
If IsEmpty(valCel) Or valCel.Value = "" Then
valCel.Interior.Color = RGB(255, 0, 0)
Else
valCel.Interior.Color = RGB(255, 255, 255)
End If
Next
End If
End If
Next
'On affiche la messagebox qu'une fois les boucles terminées
MsgBox message
For l = 10 To 59
'boucle sur les colonnes 1 à 6 ( A à F )
For c = 1 To 6
Set valCel = Cells(l, c)
'si ensemble cellule vide alors surbrillance rouge
If valCel.Interior.Color = RGB(255, 0, 0) Then
valCel.Interior.Color = RGB(255, 255, 255)
End If
Next
Next
End Sub
Merci d'avance pour votre aide.
Bien à vous,
Saajo
A voir également:
- Complément code VBA
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
2 réponses
Et bien, au lieu de cibler la ligne entière, tu dois pouvoir spécifier la plage de cellule à traiter
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.cells
Donc, remplacer
par un truc du genre
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.cells
Donc, remplacer
ActiveSheet.Rows(l)
par un truc du genre
ActiveSheet.Range(cells(l,1),cells(l,6))