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-coller colonne sans mise en forme


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Points : 32
    Points
    32
    Par défaut copier-coller colonne sans mise en forme
    Bonsoir à tous,

    Besoin de votre aide svp

    je souhaite copier les cellules d'une feuille de A14 a A24 dans une autre feuille a partir de la cellul B6. mon code est pret simplement lors de la copie la mise en forme de A14 a A24 est reproduite. pouvez vous m'aider a faire le copier-coller sans la mise en forme. de plus je voudrais écarter les cellule vide lors de la copie

    ps: dans l'aide windows il est mentionné dans pastespecial une variante ignorervides mais je n'arrive pas a mettre en place.

    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Sans passer par le copier/ colage spécial (adapte les noms des feuilles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("Feuil2").range("B6:B16").value=sheets("Feuil1").range("A14:A24").value

  3. #3
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonsoir.

    Si tu veux copier seulement des valeurs, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Worksheets("Feuil2").Range("B6:B16").Values = ThisWorkbook.Worksheets("Feuil1").Range("A14:A24").Values
    Avec le nom de tes feuilles, bien sûr!

    Cordialement,

    PGZ

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    Bonsoir

    le code que vous m'avez donné bloque.

    voici ce que ça donne chez moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Sheets("facture").Range("A14:A24").Value = Sheets("detail factures").Range("B" & Range("B65500").End(xlUp).Row + 1).Value

  5. #5
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Les 2 ranges doivent avoir les mêmes dimensions

    Edit: je viens de relire ton PS

    si ta plage A14:A24 ne comporte pas de formules, essaies ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Feuil1").Range("A14:A24").SpecialCells(xlCellTypeConstants).Copy
    Sheets("Feuil2").Range("B6").PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    La plage ne comporte pas de formules mais il y'a une erreur avec la ligne de copie

    L'erreur était due au fait que la plage de cellule n'etait pas renseignée.

    autre question svp, si mes cellules contiennent des valeurs monétaire (xltypeconstants) devra être remplacé par quoi?

    Merci d'avance

  7. #7
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sheets("Feuil1").Range("A14:A24").SpecialCells(xlCellTypeConstants).Copy
    Sheets("Feuil2").Range("B6").PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
    Application.CutCopyMode = False
    Fais F1 sur SpecialCells, tu verras l'explication de ses paramètres

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    Sauf que je souhaite selectionner uniquement les valeurs monétaires et non pas les éventuels textes qui pourrait etre présent dans la meme colonne

  9. #9
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    As tu fais F1?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    On Error GoTo Erreur:
    Sheets("Feuil1").Range("A14:A24").SpecialCells(xlCellTypeConstants, xlNumbers).Copy
    Sheets("Feuil2").Range("B6").PasteSpecial Paste:=xlPasteFormulasAndNumberFormats
    Application.CutCopyMode = False
    Erreur:

  10. #10
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    Oui j'ai fait F1, j'ai repris aussi ce script mais il ne marche pas

  11. #11
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Si tu téléphones à ton garagiste en lui disant "ma voiture marche pas" je doute fort qu'il puisse te diagnostiquer la panne...
    Il faut être plus explicite, qu'est ce qui ne fonctionne pas dans le code et quel est le message d'erreur s'il y a un ?

  12. #12
    Nouveau membre du Club
    Inscrit en
    Novembre 2010
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    eh bien mon code ne copie tout simplement pas les valeurs au format monétaire que je voulais.

    Merci pour l'aide

  13. #13
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Copie des valeurs monétaires en Euro, sans la mise en forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
    Dim i As Byte
     
    For i = 14 To 24
        If Right(Sheets(1).Cells(i, 1).Text, 1) = "€" Then '<-- format monétaire Euro
            Sheets(2).Cells(i - 8, 2) = Sheets(1).Cells(i, 1)
        End If
    Next
    End Sub

Discussions similaires

  1. [WD-2007] Problème copier/coller texte et mise en forme
    Par fubuntu dans le forum Word
    Réponses: 4
    Dernier message: 29/01/2014, 10h09
  2. [Toutes versions] Comment copier depuis word du texte sans mise en forme dans excel (via vba)
    Par Giantrick dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2013, 19h35
  3. Macro pour copier sans mise en forme
    Par oligig dans le forum VBA Word
    Réponses: 11
    Dernier message: 07/12/2011, 22h33
  4. [WD-2003] Copier coller en texte unicode sans mise en forme
    Par Lucas42 dans le forum VBA Word
    Réponses: 1
    Dernier message: 07/01/2010, 17h56
  5. Ecrire sans mise en forme automatique
    Par TuRn3r dans le forum Mise en forme
    Réponses: 2
    Dernier message: 22/08/2006, 14h45

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