Ajouter 7 à toutes les cellules d'une plage

Bonjour le Forum !

J'utiliser tout le temps une macro qui permet d'ajouter 1 à toutes les cellules d'une plage (y compris aux valeurs alphanumériques).

J'aimerais la bidouiller pour ajouter 7 et non plus 1. Mais je ne sais pas comment faire...

Voilà la macro :

Sub Edition_Collage_spécial_Ajouter_1_plage()
     For Each C In Selection
        If Rows(C.Row).EntireRow.Hidden = False Then
            C.Value = add1tocell(C.Value)
        End If
    Next C
End Sub

Quelqu'un pourrait-il m'aider siouplé ?

Merci !!!

Bonjour,

L'ajout que tu évoques n'est pas réalisé par cette procédure mais par la fonction add1tocell.

Peux-tu montrer le code de cette fonction ? siouplé !

A+

Bonjour,

Merci pour ta réponse ultra-rapide...qui me montre l'étendue de ma méconnaissance du VBA.

Voilà la fonction :

Function add1tocell(r)
'nécessaire à Sub Edition_Collage_Spécial_Ajouter_1_à_sélection()
    If Len(r) = 0 Then add1tocell = r: Exit Function
    If IsNumeric(r) Or IsDate(r) Then add1tocell = r + 1: Exit Function
    s = ""
    Do
        I = I + 1
        If I > Len(r) Then add1tocell = r: Exit Function
    Loop Until IsNumeric(Mid(r, I, 1))
    While IsNumeric(Mid(r, I, 1)) And I <= Len(r)
        s = s & Mid(r, I, 1)
        I = I + 1
    Wend
    add1tocell = Replace(r, s, Val(s) + 1, Count:=1)
End Function

Essaie comme cela :

Function add1tocell(r)
'nécessaire à Sub Edition_Collage_Spécial_Ajouter_1_à_sélection()
   If Len(r) = 0 Then add1tocell = r: Exit Function
    If IsNumeric(r) Or IsDate(r) Then add1tocell = r + 7: Exit Function
    s = ""
    Do
        I = I + 1
        If I > Len(r) Then add1tocell = r: Exit Function
    Loop Until IsNumeric(Mid(r, I, 1))
    While IsNumeric(Mid(r, I, 1)) And I <= Len(r)
        s = s & Mid(r, I, 1)
        I = I + 1
    Wend
    add1tocell = Replace(r, s, Val(s) + 7, Count:=1)
End Function

A+

Impec, merci beaucoup !!!

Rechercher des sujets similaires à "ajouter toutes plage"