Modifier toutes les culles identiques dans une même colonne

Gudo

XLDnaute Junior
Bonjour

J'ai découvert sur le Forum une macro réalisée par Job75 en 2013 qui correspond presqu'à ce que j'ai besoin.
Presque car la modification se fait par recopie de toute la zone

Moi ce qu'il ma faudrait, c'est que la modification se fasse uniquement par écrasement des anciennes cellules

Je m'explique par un exemple pour cela soit plus clair :

Dans le fichier joint
Si je modifie la formule F2
Il faudrait que cette formule écrase également les cellules F3, F8 et F12 qui sont identiques à la cellule F2

Je n'arrive pas à l'adapter, un petit coup de main serait la bien venu

Merci d'avance
 

Pièces jointes

  • Remplacement formule(1).xls
    46.5 KB · Affichages: 58
  • Remplacement formule(1).xls
    46.5 KB · Affichages: 59

Victor21

XLDnaute Barbatruc
Re : Modifier toutes les culles identiques dans une même colonne

bONJOUR;

Sans macro,
sélectionner F2+F3+F8+F12 (avec la touche Ctrl) ou la zone que vous aurez nommée au préalable.
Modifier la formule,
Valider par Ctrl + entrée.
Avec macro : utilisez l'enregistreur.
 

Gudo

XLDnaute Junior
Re : Modifier toutes les culles identiques dans une même colonne

Re,

Regardez bien la macro de Job75
Il n'y a pas besoin de sélectionner les cellules.
Juste à se positionner sur une des cellules à modifier
La macro transforme toutes les formules identiques.

Cette macro fonctionne parfaitement
C'est juste dans la façon de faire qui ne convient pas à ce que je veux faire

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Modifier toutes les culles identiques dans une même colonne

Bonjour Gudo, Patrick,

Vous copiez mon code sans essayer de le comprendre le moins du monde.

J'avais pourtant pris soin d'indiquer le code facultatif, il suffit de le mettre en commentaire :

Code:
'---copie du tableau sur la droite (facultatif)---
'[A:F].Copy [H1]: [H1:M1].Clear: [N:IV].Clear 'à adapter
'ActiveCell.Offset(, 7).Select '7 à adapter
A+
 

job75

XLDnaute Barbatruc
Re : Modifier toutes les culles identiques dans une même colonne

Re,

Pendant que j'y suis, voici une solution utilisant un tableau VBA (matrice) :

Code:
Sub ModifierFormule()
If Intersect(ActiveCell, [A:F]) Is Nothing Then Exit Sub 'à adapter
If Not ActiveCell.HasFormula Then _
  MsgBox "La cellule active doit contenir une formule...": Exit Sub
Dim FL$, F1$, f$, F2$, t, i&
FL = ActiveCell.FormulaLocal
F1 = ActiveCell.FormulaR1C1
1 f = InputBox("Formule à modifier :", "Formule", FL)
If f = "" Then Exit Sub
On Error Resume Next
ActiveCell = f 'teste la formule
If Err Then GoTo 1
On Error GoTo 0
F2 = ActiveCell.FormulaR1C1
With Intersect(ActiveCell.EntireColumn, ActiveSheet.UsedRange)
  t = .FormulaR1C1 'matrice, plus rapide
  For i = 1 To UBound(t)
    If t(i, 1) = F1 Then t(i, 1) = F2
  Next
  .FormulaR1C1 = t
End With
End Sub
Sur un très grand tableau c'est beaucoup plus rapide.

A+
 

Gudo

XLDnaute Junior
Re : Modifier toutes les culles identiques dans une même colonne

Bonsoir Job75

J'avais pourtant pris soin d'indiquer le code facultatif, il suffit de le mettre en commentaire
Je regrette souvent quand je trouve une aide, si il n'y a pas de commentaire
Celui-là je l'avais sous les yeux !!!

C'est pas grave, du coup j'ai une version avec pour les tableaux
Je viens de la tester, c'est OK
Merci Job
 

Discussions similaires

Statistiques des forums

Discussions
312 225
Messages
2 086 411
Membres
103 201
dernier inscrit
centrale vet