Reporter le montant d'une cellule dans une autre cellule mais à partir 31e

Bonjour,

Je cherche à ajouter dans la cellule, sur la ligne 100, colonne A, à partir du 11e caractère(des chiffres sont inscrit avant) le montant figurant sur la même ligne colonne F.

je vais reformuler autrement au cas où je n'aurais pas su bien m'exprimer.

ligne 100, j'ai un montant, disons 430

Je cherche une formule pour dire que dans la cellule (colonne A, ligne 100), à partir du 11e caractère (exemple 1000:5670: ...), il faudra que cela corresponde au chiffre 430 qui se trouve dans la colonne F, ligne 100.

Est ce possible de faire cela ?

Merci d'avance à ceux qui essaieront de m'aider :).

Bonne soirée.

Prenez soin de vous.

Bonjour,

Sur une autre colonne, c'est possible avec la formule :

=gauche(A100;10)&F100&droite(A100;nbcar(A100)-10)

Soit par VBA avec le code suivant, qui nécessitera probablement plus de détails :

Sub test()

Range("A100") = left(Range("A100"),10) & range("F100") & right(Range("A100"), len(Range("A100")) - 10)

end sub

Cdlt,

Merci beaucoup pour la réponse super rapide :), je vais essayer et je reviens vous dire.

Je vais également chercher ce que signifie VBA.

VBA veut dire Visual Basic for Applications. C'est le langage à partir duquel on peut réaliser des macros permettant d'automatiser certaines actions sur excel.

Je vous recommande donc de faire les choses suivantes :

- activer l'onglet développeur via l'onglet fichier/options/personnaliser le ruban/cocher "Développeur",
- rendez-vous sur l'onglet développeur et ouvrez l'éditeur "Visual Basic",
- sur le menu contextuel, allez sur Insertion/Module et collez le code dans le module d'édition nouvellement créé.
- exécutez le code à l'aide de la touche F5.

Cela dit, ce code ne traite que la ligne 100 et la feuille concernée n'est pas mentionnée donc avec plus d'informations et un fichier éventuellement, il serait possible de créer un code reproductible et approprié au besoin.

Cdlt,

Bonjour,

ou est passé le "mais à partir 31e" de ton titre dans les explications ?
Du coup la proposition de 3GB n'en tient pas compte.
Oublie le vba pour ça, une formule suffit ;-)
eric

Bonjour eriiic,

31e c'est 11e avec une faute de frappe...

Et s'il s'agit de modifier la valeur de A d'après le contenu de A, je pense que ma formule ne suffira pas. On verra avec le fichier.

Cdlt,

Bonjour,

Arf, je lisais 'à partir de 31euros'.
Je trouvais ça bizarre, mais pourquoi pas.
eric

Bonjour eriiic,

Tu as le cerveau qui convertit tout en euros ... C'est le "Reporter le montant" qui crée la confusion je pense.

Bonjour,

Merci à vous 3GB et Eriic de vous intéresser à mon problème.

J'ai simplifié mon tableur et supprimé des lignes et colonnes.

La colonne A est celle que nous partageons avec d'autres entités.

Les autres colonnes sont pour mes collègues et moi.

Je vais reformuler ma question avec mon tableur simplifié et des données précises :

- en ligne 81, colonne A (A81) j'ai besoin d'indiquer après 0000:0000:... le montant qui se trouve colonne D de la même ligne (D81). Sur le fichier, je l'ai reporté à la main.

- idem pour les 2 lignes suivantes : après les 0000:0000: , j'ai besoin de reporter ce qui est dans la colonnes D des lignes correspondantes. Idem ce qui est écrit après, je les ai reporté à la main de la colonne D.

Merci d'avance pour votre aide avec ce fichier qui est plus parlant :).

Bonjour Hupold,

Je ne suis toujours pas certain d'avoir parfaitement compris le besoin exact. D'instinct, j'aurais plutôt eu tendance à essayer de joindre les valeurs de la colonne C plutôt que celles de la colonne D.

En tout cas, voici un essai :

Sub Rajouter()

With ActiveSheet
    dl = .Cells(.Rows.Count, 1).End(xlUp).Row
    codes = .Range("A2:D" & dl)
    For i = LBound(codes) To UBound(codes)
        If codes(i, UBound(codes, 2)) <> "" Then
            decompose = Split(codes(i, 1), ":")
            decompose(UBound(decompose)) = codes(i, UBound(codes, 2))
            codes(i, 1) = Join(decompose, ":")
        End If
    Next i
    .Range("A2").Resize(UBound(codes), 1) = codes
End With

End Sub

Si une valeur est inscrite en colonne D, on remplace la dernière partie du code en colonne A (la partie à droite des derniers ":") par la valeur en colonne D. Lorsque le code en colonne A se termine par ":" (à 31 caractères), cela a pour effet d'ajouter la valeur en colonne D.

Cdlt,

Bonjour 3GB,

La cellule D81 reprend D42.

C81 reprend automatiquement ce qui écrit après le dernier : de la cellule A81.

Si je n'inscris rien à la main dans A81 après le dernier :, il y aura un 0 dans C81.

Je cherche à reporter D81 automatiquement après le dernier : de la cellule A81.

J'avais écrit un message hier pour dire qu'en fin de compte mon fichier est un calc, il ne s'est pas affiché, on voit un message blanc.

Pour être plus précise c'est un fichier excel, mais je l'ouvre sous calc.

Bonjour,

Je n'ai pas de retour sur le fichier que je vous ai transmis ? Pourtant, j'ai le sentiment que le résultat est celui que vous attendiez. Sinon, il faudrait que vous donniez des exemples clairs de tous les cas et des résultats attendus avec un fichier sans colonne inutile.

Je ne connais pas Calc et ne sais pas si les macros y sont fonctionnelles. Il y a une rubrique Calc sur ce forum, peut-être que y obtiendrez des réponses satisfaisantes (mais, si vous y créez un sujet, postez quand même le lien de ce sujet pour que les contributeurs comprennent mieux le problème).

Cdlt,

Bonjour,

dans Calc il y a une option à aller cocher pour qu'il interprète (du moins essaie) les macros vba.
eric

Bonjour,

je suis désolée, je ne sais pas rentrer du code dans calc (dans excel non plus mais vous l'aviez expliqué), alors je suis en train de regarder des tutos sur calc...pour l'instant cela ne m'aide pas. Je continue de chercher sur le forum, dès que j'y arrive je reviens poster.

C'est bien libre office que tu as et non open office ?
https://help.libreoffice.org/latest/fr/text/sbasic/shared/vbasupport.html

Bonsoir, oui j'ai libre office.

Rechercher des sujets similaires à "reporter montant partir 31e"