user_mobilelogo

Voici une petite macro qui, si le curseur est dans un tableau, parcourt toutes les cellules, ligne par ligne, colonne par colonne et affiche un message lorsqu'une cellule rencontrée est vide et sélectionne cette cellule.

Sub Testtablo()
Dim ncol As Integer, nli As Integer
  If Selection.Information(wdWithInTable) Then
    For ncol = 1 To Selection.Tables(1).Columns.Count
      For nli = 1 To Selection.Tables(1).Rows.Count
        If Len(Selection.Tables(1).Cell(ncol, nli).Range.Text) = 2 Then
        Selection.Tables(1).Cell(ncol, nli).Select
        MsgBox "Cellule (colonne" & CStr(ncol) & " , " & "ligne" & CStr(nli) & ") vide.", vbOK, "Balayage de tableau"
      Else
      End If
    Next
  Next
End If
End Sub
 

Si le traitement doit se faire uniquement dans la colonne où se trouve le curseur :

La macro suivante partourt toutes les lignes de la colonne où se trouve le curseur, affiche un message lorsqu'elle rencontre une cellule vide, et remplit cette cellule par un texte (ici "Mon texte").

Sub Testtablo()
Dim nli As Integer, NumCol As Integer
  If Selection.Information(wdWithInTable) Then
    NumCol = Selection.Information(wdEndOfRangeColumnNumber)
    For nli = 1 To Selection.Tables(1).Rows.Count
      If Len(Selection.Tables(1).Cell(nli, NumCol).Range.Text) = 2 Then
        Selection.Tables(1).Cell(nli, NumCol).Select
        MsgBox "Cellule vide (Ligne " & CStr(nli) & " , " & "Colonne " & CStr(NumCol) & ").", vbOK, "Balayage de tableau"
        Selection.InsertAfter "Mon texte"
      Else
      End If
    Next nli
End If
 

 

 

Statistiques

Aujourd'hui384
Hier2165
Cette semaine7880
Ce mois38112
Total depuis 200418240652

8
visiteurs actuellement en ligne

26 avril 2024