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 données cellule et garder la formule si elle existe


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut Copier données cellule et garder la formule si elle existe
    Bonjour la team,

    J'ai un code qui effectue la copie des données d'une feuille 1 à une autre feuille 2.
    la feuille 2 peut avoir des cellules avec des formules.
    J'aimerai que la fonction vérifie si la cellule dans la feuille 2 a une formule, elle ne fait rien ( elle colle pas la donnée dans cette cellule) et passe à la cellule suivante!

    est ce que c'est possible ?
    la partie du code qui copie la valeur de 1 à 2 :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      If Not id Is Nothing Then
     
                                .Cells(i, j).Copy Destination:=f2.Cells(id.Row, .Cells(1, j))
     
                            End If
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Peerl Bonjour le Forum,

    Tu peux utiliser la propriété HasFormula.

  3. #3
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut
    Bonjour,
    Après avoir ouvert le sujet j'ai continuée mes petites recherches entre temps et j'ai trouvé qu'on pouvait utilsier : HasFormula
    et effectivement je vois que tu as confirmé cela et donc pour l'instant le code fonctionne sans soucis après un test rapide à voir!

    Edit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     If Not id Is Nothing Then
                           If f2.Cells(id.Row, .Cells(1, j)).HasFormula = False Then
                               .Cells(i, j).Copy Destination:=f2.Cells(id.Row, .Cells(1, j))
                           End If
                         End If
    Merci

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut Peerl,

    Dans le 1er post, tu écris
    si la cellule dans la feuille 2 a une formule, elle ne fait rien
    Tu n'as pas reporté l'ensemble de ton code, mais la prudence indiquerait de bien définir l'objet Cells en l'argumentant.

    2 remarques par ailleurs:

    Personnellement, la propriété retournant une valeur booléenne, je préfère l'écriture
    Pour plus de clarté, sur tout code, il faut veiller à une indentation la plus rigoureuse qui soit.
    Autrement dit, respecter un retrait homogène pour tout bloc (If, Do, With....)

  5. #5
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    141
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 141
    Par défaut
    Effectivement MarcelG, il fallait indiqué la feuille là ou la condition s'applique je viens de modifier mon message précédent (code) avec le .Hasformula= false

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] copier des cellules avec contenant des formules
    Par laurentSc dans le forum Conception
    Réponses: 13
    Dernier message: 18/11/2015, 00h14
  2. [XL-2010] Copier données d'un tableau vers une cellule
    Par Caussols dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/03/2011, 23h30
  3. [XL-2003] Copier le contenu de cellules et non la formule
    Par tarnx dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/01/2010, 15h01
  4. Copier résultat cellule excel sans formule
    Par niavlys77 dans le forum Access
    Réponses: 3
    Dernier message: 15/10/2009, 19h04
  5. [XL-2003] Copier dernière cellule mais formule
    Par pic.moi dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/10/2009, 14h39

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