Ne pas recopier les #N/A

Bonjour le forum

J'ai une macro qui me recopie des données mais parfois parmi ces données il y a des ##

je voudrais qu'elle ne recopie pas ces ## mais en gardant la place de chaque cellule

EX:- 1- 2- ##- 3- 4

sera1- 2--------3- 4

que faut-il inscrire dans la macro

Sheets("Trot").Select
vligne = Range("BM65536").End(xlUp).Row
     vligne = vligne + 1
     Range("BM4:BQ4").Select
     Application.CutCopyMode = False
     Selection.Copy
     Range("BM" & vligne).Select
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                           :=False, Transpose:=False

merci

Bonsoir jad73, le forum,

Une solution consiste à remplacer le # par - après la recopie.

Un exemple ci-joint, en espérant que cela t'aide.

Cordialement,

Re,

Désolé, en fait ça ne répond pas à ta demande, la position n'étant pas conservée,

A moins de remplacer # par _ mais pas sur que cela te convienne....

EDIT: en fait j'étais complètement à coté de la plaque , je n'avais pas vu le N/A ! je pensais qu'il fallait seulement remplacer le #, heureusement que Jean-Eric passait par là

Bonsoir,

Le résultat #NA est le résultat d'une formule!?

Essaie d'utiliser SIERREUR() pour éliminer ce résultat et ton copier coller ne posera plus de soucis.

Cdlt.

Bonjour,

    Dim pl As Range
    On Error Resume Next
    Set pl = [A1:E10].SpecialCells(xlCellTypeFormulas, xlErrors)
    On Error GoTo 0
    If Not pl Is Nothing Then pl.ClearContents

remplacer xlCellTypeFormulas par xlCellTypeConstants si tu traites la partie 'collage special valeur'.

eric

Bonjour

merci pour vos réponses mais n'étant pas trop doué je joint un fichier que j'aurai du mettre au 1er post

merci

7supna.xlsm (22.21 Ko)

Je t'ai aussi enlevé les .select inutiles :

Sub Macro1()
    '
    ' Macro1 Macro
    ' Trot-M
    '
    Dim pl As Range, vligne As Long
    Sheets("Trot").Select
    vligne = Range("BM65536").End(xlUp).Row + 1
    Range("BM4:BQ4").Copy
    Range("BM" & vligne).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                                                    :=False, Transpose:=False
    On Error Resume Next
    Set pl = Selection.SpecialCells(xlCellTypeConstants, xlErrors)
    On Error GoTo 0
    If Not pl Is Nothing Then pl.ClearContents
    Range("BL2").Select
    Application.CutCopyMode = False
End Sub

Bonjour eriiic, le forum

merci pour le code, c'est parfait

merci a+

Rechercher des sujets similaires à "pas recopier"