Mettre toutes les cell. d'une plage par macro en absolu

Résolu
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   -  
nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'aimerais mettre toutes les cell. d'une plage en absolu par macro ,est ce possible ?
et si oui ,quelqun pourrais t'il m'aider.
d'avance merci a tous.
(j'ai excel 2000)

9 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, suggestion:
    Option Explicit
    Sub nihcoc()
    Dim cel As Range
    For Each cel In Selection
      If cel.Formula <> "" Then
        cel.FormulaR1C1 = Application.ConvertFormula(cel.FormulaR1C1, xlR1C1, xlR1C1, xlAbsolute, cel)
        End If
    Next
    End Sub
    1
    1. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
       
      Merci a vous la macro marche très bien,c'est parfait.

      serait il possible d'avoir la même macro qui fasse l'inverse,c'est a dire quelle enlève en plage les références absolus des formules.
      Merci
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention  
         
        je n'ai pas testé, et je pense qu'il suffit de remplacer xlAbsolute par xlRelative.
        0
  2. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    merci pou ta réponse,mais ça bloque sur la 1ère ligne de code
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Ben oui, mais je n'ai pas votre code!!!!
      Avez-vous defini plage?
      0
  3. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    je ne veux pas définir de plage a l'avance,je préfère sélectionner une plage et démarrer la macro ,cela permet de pouvoir s'en servir ultèrieurement pour d'autre coordonnéée de plage
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Remplacez plage par Selection
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    J'ai essayé de faire la modification,mais ça ne marche pas.
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      faudrait expliquer un peu plus ce que vous faites une fois la selection faites
      0
  6. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    Je voudrais faire une macro en plage mettent toutes les formules de la plage en référence absolu;.
    exemple:
    =SUMPRODUCT((NOT(ISERROR(FIND(K18,E1)))*1))

    une fois la macro appliqué:
    =SUMPRODUCT((NOT(ISERROR(FIND($K$18,$E$1)))*1))
    et ce en plage.
    Merci d'avance
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      pas besoin de mettre/enlever un blanc devant les formules
      inspirez vous de ceci: copier/collage special formule fait avec l'enregistreur de macro

      Sub Macro5()
      '
      ' Macro5 Macro
      '
      
      '
          Range("A1:A10").Select
          Selection.Copy
          Range("J13").Select
          Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
              SkipBlanks:=False, Transpose:=False
      End Sub
      0
  7. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    J'ai installé la macro ,mais quand on l'active ça change les références de la formule.

    la formule:

    =SOMMEPROD((NON(ESTERREUR(TROUVE(K18;E1)))*1))

    devient:

    =SOMMEPROD((NON(ESTERREUR(TROUVE(T30;N13)))*1))

    avec la macro que vous m'avez envoyé
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      En effet, autant pour moi.

      Une solution simple est de mettre des $ ex:
      =SOMMEPROD((NON(ESTERREUR(TROUVE($K$18;$E$1)))*1))
      0
  8. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    Le problème c'est que j'ai + d'une centaine de formule
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Oui, mais dans le cas de copie sans les $, il faut modifier les formules avant et apres collage pour les formules d'origines......
      0
  9. nihcoc Messages postés 193 Date d'inscription   Statut Membre Dernière intervention   5
     
    C'est bien xlRelative pour faire l'inverse.

    Merci beaucoup
    0