Sub RemplirVides()
Dim Rng As Range
On Error Resume Next
Set Rng = Range("C1:V49").SpecialCells(xlCellTypeBlanks)
Rng.FormulaR1C1 = "=R1C"
Range("C1:V49") = Range("C1:V49").Value
End Sub
Re
Si c'est bien le but recherché, cette macro est une solution possible
VB:Sub RemplirVides() Dim Rng As Range On Error Resume Next Set Rng = Range("C1:V49").SpecialCells(xlCellTypeBlanks) Rng.FormulaR1C1 = "=R1C" Range("C1:V49") = Range("C1:V49").Value End Sub
Bonsoir le fil,
Dans ton fichier exemple, il n'y a pas de cellules vide en A2:A49 ?
Si on regarde la colonne C, il y des cellules vides (sauf en C16)
Tu veux que dans les cellules vides s'incrivent la valeur 44
(qui est la valeur en C1)
C'est cela?
Et tu veux que cela se fasse sur toutes les colonnes de C à V.
Sub RemplirNonVides()
Dim Rng As Range
On Error Resume Next
Set Rng = Range("C2:V49").SpecialCells(xlCellTypeConstants, 1)
Rng.FormulaR1C1 = "=R1C"
Range("C2:V49") = Range("C2:V49").Value
End Sub
Bonsoir le fil
bruno972
Il suffisait d'une légère adaptation
VB:Sub RemplirNonVides() Dim Rng As Range On Error Resume Next Set Rng = Range("C2:V49").SpecialCells(xlCellTypeConstants, 1) Rng.FormulaR1C1 = "=R1C" Range("C2:V49") = Range("C2:V49").Value End Sub
Sub RemplirNonVides_avec_Endives()
On Error Resume Next
With [C2:V49]
.SpecialCells(2, 1) = "=R1C"
.Value = .Value
End With
End Sub
BonjourBonsoir le fil
Une petite variante (pour le fun)
VB:Sub RemplirNonVides_avec_Endives() On Error Resume Next With [C2:V49] .SpecialCells(2, 1) = "=R1C" .Value = .Value End With End Sub