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
- Code blocks - Télécharger - Langages
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))