Vba .hasformula et .clear contents
Résolu
vbabeginner
-
vbabeginner -
vbabeginner -
Bonjour,
je cherche à faire une petite procédure qui une fois un certain nombres de cellules sélectionnées par l'utilisateur, vérifie si les cellules contiennent ou non une formule et si les cellules n'en contiennent pas, la procédure efface le contenu de ces cellules.
Voici mes lignes de codes:
Sub Myfirstlines()
Dim SelCellules As Range
Dim Cellules As Range
On Error Resume Next
Set SelCellules = Application.InputBox("Select range of cells to act upon", "Cell selection", 8)
For Each Cellules In SelCellules
If Cellules.HasFormula = False Then
Cellules.ClearContents
End If
Next
End Sub
Merci par avance pour votre aide
je cherche à faire une petite procédure qui une fois un certain nombres de cellules sélectionnées par l'utilisateur, vérifie si les cellules contiennent ou non une formule et si les cellules n'en contiennent pas, la procédure efface le contenu de ces cellules.
Voici mes lignes de codes:
Sub Myfirstlines()
Dim SelCellules As Range
Dim Cellules As Range
On Error Resume Next
Set SelCellules = Application.InputBox("Select range of cells to act upon", "Cell selection", 8)
For Each Cellules In SelCellules
If Cellules.HasFormula = False Then
Cellules.ClearContents
End If
Next
End Sub
Merci par avance pour votre aide
2 réponses
-
Bonjour,
Si la verification concerne aussi les actions simples comme "=A1+B1" chaque formula contient '=' au debut, alors il reste de verifier s'il y a "=" au debut.
Sub Myfirstlines() Dim SelCellules As Range Dim Cellules As Range On Error Resume Next Set SelCellules = Application.InputBox("Select range of cells to act upon", "Cell selection", Type:=8) For Each Cellules In SelCellules If Left(Cellules.Formula, 1) = "=" Then Cellules.ClearContents End If Next End Sub
Cord, Alena-
En effet, ca marche aussi avec Cellules.HasFormula. Je pense l'erreure a ete en Application.InputBox.Il faulait inquer le type..dans tous les cas ca marche chez moi.
Sub Myfirstlines() Dim SelCellules As Range Dim Cellules As Range On Error Resume Next Set SelCellules = Application.InputBox("Select range of cells to act upon", "Cell selection", Type:=8) For Each Cellules In SelCellules If Cellules.HasFormula = False Then Cellules.ClearContents End If Next End Sub
Cord,Alena -
-
-
Bonjour,
Sub Myfirstlines() Dim Cellules As Range On Error Resume Next 'Mettre le nom de la feuille With Worksheets("feuil1") Set SelCellules = Application.InputBox(prompt:="Select range of cells to act upon", Title:="Cell selection", Type:=8) For Each Cellules In SelCellules If Cellules.HasFormula = True Then Cellules.ClearContents End If Next End With End Sub
Bonne suite