Appliquer +1 d'une cellule à une autre sur long chiffre

Bonjour,

J'ai parfois de la peine à trouver les réponses à mes questions par rapport aux formules excel, donc peut-être qu'il existe déjà un topic sur ce sujet et si c'est le cas je m'en excuse.

Alors voilà, habituellement, lorsqu'une cellule comporte un chiffre (exemple 110), on peut le faire s'additionner de 1 d'une cellule à celle en dessous (du coup 111). J'espère que jusque là je suis assez clair. ( Je n'ai aucune idée de comment cette action s'appelle )

Mon problème est que j'ai un nombre trop long à savoir 5054123451712100100 et qu'il refuse du coup de rajouter 1 si j'étire la cellule vers celle d'en bas (attendu 5054123451712100101).

Connaîtriez-vous une astuce/formule qui me permettrait d'ajouter un à chaque cellule ?

D'avance merci et désolé si je me suis mal exprimé.

Bonne soirée

bonjour,

la fonction personnalisée qui suit permet de faire des additions de chaines de caractères représentant des nombres

là où tu aurais utilisé

=A1+1

tu devras mettre

=addstr(A1,1)

fonction à ajouter dans une module VBA

Public Function addstr(ByVal s1 As String, ByVal s2 As String, Optional dev As String = ".") As String
    Dim b As Double, c As Double, a As String, r As String, rep As Integer
    If InStr(s1, dev) = 0 Then s1 = s1 & dev
    If InStr(s2, dev) = 0 Then s2 = s2 & dev
    aligns1s2 s1, s2, dev
    For i = Len(s1) - 8 To 1 Step -9
        b = CDbl(Mid(s1, i, 9))
        c = CDbl(Mid(s2, i, 9))
        a = b + c + rep
        If Len(a) > 9 And Left(a, 1) <> 0 Then rep = 1 Else rep = 0
        r = Right(String(9, "0") & a, 9) & r
    Next i
    addstr = r
End Function

Sub aligns1s2(ByRef s1 As String, ByRef s2 As String, dev As String)
    Dim v1 As Integer, v2 As Integer
    v1 = RevInStr(s1, dev)
    v2 = RevInStr(s2, dev)
    If v1 < v2 Then
        s1 = s1 & IIf(s1 = 0, dev, "") & String(v2 - v1, "0")
    Else
        s2 = s2 & IIf(s2 = 0, dev, "") & String(v1 - v2, "0")
    End If
    v1 = Len(s1)
    v2 = Len(s2)
    If v1 < v2 Then
        s1 = String(v2 - v1 + 9, "0") & s1
        s2 = String(9, "0") & s2
    Else
        s2 = String(v1 - v2 + 9, "0") & s2
        s1 = String(9, "0") & s1
    End If
End Sub

Bonjour,

Merci pour votre réponse.

Il faut que je créé une macro alors si j'ai bien compris. N'y a-t'il pas une autre solution ?

Sinon je vais quand même essayer !

Merci

Voila, j'ai essayé mais excel m'affiche que ma formule contient une erreur...

Je n'ai jamais ajouté de module mais en me renseignant voila ce que j'ai fait :

Alt+F11, insérer module, jai collé le contenu que vous m'avez indiqué, j'ai enregistré et j'ai essayé dans mon excel et rien...

Aurais-je fait quelque chose de mal ?

Merci d'avance et bonne journée

bonjour,

tu as bien sauvé au format xls ou xlsm ?

reçois-tu un message d'erreur ?

Bonjour,

J'ai bien enregistré en fichier xlsm mais je me suis débrouillée autrement. J'ai utilisé la formule concatener avec deux colonnes supplémentaires.

Bonne soiree

Rechercher des sujets similaires à "appliquer long chiffre"