× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Ajouter caractère à la fin de chaque cellule d'une plage de cellule
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
john_johnk
  Posté le 08/05/2019 @ 17:21 
Aller en bas de la page 
Petit astucien

Bonjour,

Je souhaiterais ajouter une division par 2 à la fin de chaque cellule d'une plage de cellule contenant de longues formules.

J'ai tenté la fonction remplacer avec rechercher *.* et remplacer par &/2 mais cela ne fonctionne pas et la cellule entière est remplacée par /2 m'effaçant toute la formule.

Qqun serait il en mesure de m'aider.

Merci infiniment

Publicité
gilbert_rgi
 Posté le 09/05/2019 à 10:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Comme ceci peut-être

=(votre longue formule)/2

bonne journée

Debrief
 Posté le 09/05/2019 à 12:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

A part modifier les formules 1 à 1 je ne vois pas comment intervenir sur les formules de toutes les cellules d'une seule entrée.

La seule façon de le faire automatiquement est d'utiliser une macro, par exemple:


Sub FormuleDivisePar2()
Dim Cel As Range

For Each Cel In Selection
If Cel.HasFormula Then Cel.Formula = "=(" & Mid(Cel.Formula, 2) & ")/2"
Next Cel

MsgBox "Toutes les formules ont été modifiées dans le Range sélectionné " & Selection.Address
End Sub

Sélectionner la zone à modifier et exécuter la macro. Les cellules qui contiennent des formules "= bla bla" verront leurs formules modifiées "=(bla bla)/2"

Cordialement,
D.

john_johnk
 Posté le 09/05/2019 à 19:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Debrief,

Merci pour ta réponse. Ce que je souhaite c'est =( bla bla)/2. Je pensais qu'avec concatenate ou qqch de type RIGHT(), ou même avec rechercher remplacer. Ma plage s'étend de AE102 à AQ122 ( 13 colonnes 20 lignes) et je souhaiterais diviser par 2 toutes mes cellules

Debrief
 Posté le 10/05/2019 à 10:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Tu ne peux pas, par une formule dans une cellule, modifier la formule d'une autre cellule et encore moins toutes les formules d'un Range.

Tu peux à la limite, récupérer dans une cellule la formule d'une autre cellule en définissant un nom qui fait référente à "=LIRE.CELLULE(6;Feuil1!A1)" par exemple (voir ici)
Mais tu n'es pas sorti d'affaire pour autant car il faut modifier ce résultat, donc utiliser encore une autre cellule.
Puis l'affecter en tant que formule dans une autre cellule (manip complexe avec =EVALUER dans un nom) qui ne soit pas la cellule d'origine sous peine de référence circulaire.

Tu n'as qu'une option simple et rapide:

Place la macro suivante dans la partie Macro de ton classeur:
- Copier la macro ci-dessous en vert
- Dans ton classeur Excel tape (Alt + F11)
- puis clic droit / Insertion / Module puis coller.

et utilise-la:
- onglet Développeur / Macro / Exécuter

Sub FormuleDivisePar2()
Dim Cel As Range
Const RangeConcerné = "AE102:AQ122"

For Each Cel In ActiveSheet.Range(RangeConcerné)
If Cel.HasFormula Then Cel.Formula = "=(" & Mid(Cel.Formula, 2) & ")/2"
Next Cel

MsgBox "Toutes les formules ont été modifiées dans le Range " & RangeConcerné
End Sub



Modifié par Debrief le 10/05/2019 10:33
DjiDji59430
 Posté le 10/05/2019 à 12:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour à tous,

A la souris, ou presque

tu fais un tableau équivalent a ta plage AE102:AQ122 que tu remplis de 0,5.

Tu copies/colles spécial ce tableau sur la plage AE102:AQ122 en ayant coché l'option "avec multiplication"

C'est terminé


Crdlmt

Debrief
 Posté le 10/05/2019 à 14:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

La solution de DjiDji59430 est très intéressante.

On peut même la rendre encore plus simple:
- Choisis une cellule non utilisée quelque part, place dedans la valeur 2 et fais copier (Ctrl + C) de cette cellule
- Sélectionne la plage AE102:AQ122 et fait Collage spécial / Division / OK

john_johnk
 Posté le 10/05/2019 à 21:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci à vous deux, j'ai appliqué cette solution. Merci mille fois

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
90 €Disque dur externe portable Seagate Basics 4 To USB 3.0 à 90 €
Valable jusqu'au 05 Juillet

Amazon fait une promotion sur le disque dur externe portable Seagate Basics d'une capacité de 4 To qui passe à 90 € livré gratuitement. Ce disque dur externe portable au format 2,5 pouces dispose d'une interface USB 3.0 compatible USB 2.0. Une excellente affaire pour ce disque dur qui offre des débits de 115 Mo/s. Il n'est pas soudé et est donc démontable si vous souhaitez le réutiliser ailleurs (console, NAS, PC).


> Voir l'offre
29,99 €Clavier et Souris sans fil Microsoft Wireless Desktop 900 à 29,99 €
Valable jusqu'au 07 Juillet

Amazon fait une promotion sur le pack Microsoft Wireless Desktop 900 qui passe à 29,99 € livré gratuitement alors qu'on le trouve ailleurs à partir de 45 €. Cet ensemble clavier/souris Microsoft Wireless Desktop 900 est à la fois contemporain et minimaliste. Le clavier est doté de touches silencieuses offrant une expérience de frappe sereine et la souris de taille classique permet une navigation confortable et précise. Le clavier Wireless Desktop 900 est doté du chiffrement AES (Advanced Encryption Standard), qui vous permet de protéger vos informations en chiffrant votre saisie. La durée de vie de la pile est de 2 ans pour le clavier et pour la souris.


> Voir l'offre
144,80 €Mini PC Acute Angle AA-B4 (Celeron N3450, 8Go RAM, 64Go+SSD 128Go) à 144,80 € avec le code GBCNSJXPC
Valable jusqu'au 07 Juillet

Gearbest fait une promotion sur l'ordinateur Acute Angle AA - B4 qui passe à 144,80 € au lieu de 180 € grâce au code promo GBCNSJXPC. Ce mini PC au design atypique et au corps en bois, intègre un processeur Intel Celeron N3450 (4 coeurs de 1,1 à 2,2 GHz), 8 Go de RAM, un espace de stockage de 64 Go EMMC ainsi qu'un SSD de 128 Go. Il possède également le WiFi5, le Bluetooth 5.0, une prise Ethernet Gigabit, 3 ports USB 3.0, une sortie HDMI. L'ordinateur est livré avec une prise électrique européenne. Il est accompagné de Windows 10 Familial. Avec ce PC, vous pourrez réaliser sans soucis toutes vos tâches courantes : internet, bureautique, multimédia.

Ce marchand sérieux se trouvant en Chine, la livraison peut prendre une quinzaine de jours. Comptez une dizaine d'euros pour la livraison en France et l'assurance pour le transport. Vous pouvez payer par carte bancaire ou par Paypal (conseillé pour bénéficier de la garantie Paypal).


> Voir l'offre

Sujets relatifs
Diviser chaque cellule dans plage cellule par 3
Lancer macro automatiquement à chaque modif cellule
Macro pour saisir une valeur dans une plage de cellule
Référence cellule dans une plage
Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changement
incrémenter un N° de cellule à chaque ouverture du fichier Excel
Incrémentation automatique d'une cellule à chaque nouvelle ligne
une seule lettre dans la cellule dans plage B:F
incrementer une cellule selon un code d'une plage
Condition sur plage de cellule en excel
Plus de sujets relatifs à Ajouter caractère à la fin de chaque cellule d''une plage de cellule
 > Tous les forums > Forum Bureautique