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 :

Copier des cellules (Valeur et Formule)


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Points : 50
    Points
    50
    Par défaut Copier des cellules (Valeur et Formule)
    Bonjour,

    J'essaye de copier des cellules d'une feuille afin de les mettre dans une autre feuille. Je copie en fonction d'une valeur dans une cellule.

    Quand je copie une formule, il ne trouve pas les valeurs associés. Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    A1: "TEST"
    A2: =lower(A1)
    Or quand je copie, j'ai le résultat suivant:
    A1: "TEST"
    A2: =lower(#REF!)

    Comment je peux résoudre ce problème?

    Voici le code créer: (très barbare)

    "
    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
    Sub Bouton11_QuandClic()
     
    Sheets("Open RFPs Siglum").Activate ' feuille de destination
     
      Col = 2                ' colonne données non vides à tester'
      With Sheets("Open RFPs Siglum")     ' feuille source'
      NbrLig = .Cells(65536, Col).End(xlUp).Row
      For Lig = 2 To NbrLig             'n° de la 1ere ligne de données'
        If .Cells(Lig, Col).Value = "Closed Job Staffing Completed Successfully" Then
            For i = 1 To 42
                Sheets("Closed RFPs Siglum").Cells(Lig, i).Formula = Sheets("Open RFPs Siglum").Cells(Lig, i).Formula
                Sheets("Open RFPs Siglum").Cells(Lig, i).Delete shift:=xlUp
            Next
     
            For j = 43 To 50
                Sheets("Open RFPs Siglum").Cells(Lig, i).Delete shift:=xlUp
            Next
     
     
        End If
        Lig = Lig + 1
      Next
      End With
     
      MsgBox ("Opération terminée")
    End Sub "

  2. #2
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    Bonsoir maxoup,

    Quand je copie une formule, il ne trouve pas les valeurs associés. Exemple:
    A1: "TEST"
    A2: =lower(A1)

    Or quand je copie, j'ai le résultat suivant:
    A1: "TEST"
    A2: =lower(#REF!)
    le code d'erreur #REF signifie que ta formule pointe sur une référence qui n'existe pas.
    utilises des références absolues.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Points : 50
    Points
    50
    Par défaut
    Je ne sais pas comment on peut récupérer la référence absolue...

    Quel est la fonction qui peut le faire?

  4. #4
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    Bonsoir,

    si tes formules ne référent que sur une cellule comme : "=A1"

    tu peux faire ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim r as Range
    set r = Range("A2")
    r.Replace r.Precedents.Address(False, False), r.Precedents.AddressLocal
     
    dans une boucle:
    for each r in range("A1:A20")
       r.Replace r.Precedents.Address(False, False), r.Precedents.AddressLocal
    next
    note que cela ne marche que pour les Precedents présents sur la feuille.
    je ne sais même pas ce que tu veux faire exactement !

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 51
    Points : 91
    Points
    91
    Par défaut
    Perso
    je fais une simple copie de cellules vers une autre cellules situé sur une autre feuille comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR( Tableau_owssvr_1__1[@[Problem Initiator]]);"/"; Tableau_owssvr_1__1[@[Problem Initiator]])
    avec une fonction ESTERREUR

    Mais au moment de l'ouverture du classeur j'ai mis ça dans le ThisWorbook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Calculation = xlAutomatic
    Et la j'ai toute mes feuilles qui seront toujours à jour en modifiant uniquement la feuille " Maitre "

Discussions similaires

  1. [XL-2003] copier des cellules avec contenant des formules
    Par laurentSc dans le forum Conception
    Réponses: 13
    Dernier message: 17/11/2015, 23h14
  2. copier des cellules si une valeur est présente dans celles-ci
    Par arno1975 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/02/2014, 20h55
  3. [XL-2010] Copier des cellules ( sans les formules)
    Par PhilGood11 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/02/2012, 15h21
  4. Réponses: 0
    Dernier message: 17/03/2011, 21h42
  5. [VBA-E]:copier des cellules en gardant les fomules
    Par VBBBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/06/2006, 10h53

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