IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA - Inverser Tableau et garder les formules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Par défaut VBA - Inverser Tableau et garder les formules
    Bonjour je viens de créer une macro qui me permets d'inverser un tableau de valeur:

    1 2 3
    4 5 6

    devient :

    6 5 4
    3 2 1

    Voici le code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Sub Inverse()
     
    Dim TableauE As Variant
    Dim TableauS As Variant
     
    Dim i As Long
    Dim j As Long
    Dim TailleI As Long
    Dim TailleJ As Long
     
     
    i = 0
    j = 0
     
    TableauE = Selection.Value
     
    TailleI = UBound(TableauE, 1)
    TailleJ = UBound(TableauE, 2)
     
    ReDim TableauS(TailleI, TailleJ)
     
    For i = 0 To TailleI - 1
       For j = 0 To TailleJ - 1
       TableauS(i, j) = TableauE(TailleI - i, TailleJ - j)
       Next
    Next
     
    Selection.Value = TableauS
     
    End Sub
    J'aimerai maintenant qu'au lieu de copier juste la valeur de la cellulen, ma macro prenne en compte la formule qu'il peut y avoir

    ex :

    __A_B_C__
    1| 1 2 3
    2| 4 5 8

    avec C2 = (B1)^3

    devient :

    __A_B_C__
    1| 8 5 4
    2| 3 2 1

    avec A1 = (B2)^3

    Quelqu'un aurait -il une idée ? Existe t il une autre méthode applicable à une cellule que cellule.value pour copier la formule et la modifier de manière dynamique ?

    Merci beaucoup pour votre aide !

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Ton code n'est plus adapté pour faire la même chose avec des formules, car à la limite, les formules vont se copier mais sans s'adapter au changement de place des autres cellules
    Ex :
    la ligne ci dessusne changera pas et ne deviendra pas comme tu le souhaites
    Je ne vois pas d'autre solution que de faire de multiples copier coller

Discussions similaires

  1. [XL-2007] Initialiser un tableau sans supprimer les formules
    Par pepsister dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/03/2013, 18h52
  2. [XL-2003] Modifier toute les formules d'un tableau en vba.
    Par Chagui dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/10/2011, 10h30
  3. [XL-2003] VBA : etendre les formules de la derniere colonne d'un tableau
    Par gandalf20000000 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/09/2009, 17h28
  4. [VBA Excel] Tableau avec données du userform et de formules
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/06/2006, 13h29
  5. Réponses: 2
    Dernier message: 04/02/2005, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo