copie valeur et pas copie intégrale

  • Initiateur de la discussion Initiateur de la discussion superbog
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

superbog

XLDnaute Occasionnel
bonjour,

Petit problème de présentation

J'ai une macro qui fonctionne très bien mais je voudrais copier seulement la valeur, de facon à conserver la mise en forme de la plage cible


Sub HR()

Dim i, DerLigBase, Lig As Integer
Dim dossier, sNomFeuille As String
Dim colFeuille As Collection
Dim rCelA As Range
Dim shAct As Worksheet
Dim FeuilleExist As Boolean

'Recherche de la dernière ligne
DerLigBase = Sheets("HR").Range("A999").End(xlUp).Row
Set colFeuille = New Collection

On Error Resume Next
'Boucle sur la plage de cellule
For Each rCelA In Sheets("fact").Range(Cells(2, 1), Cells(DerLigBase, 1))
colFeuille.Add rCelA, CStr(rCelA)
Next rCelA

'Recherche de la ligne et tri dans chaque feuille
For i = 2 To DerLigBase
dossier = Cells(i, 1).Text
Lig = Sheets(dossier).Range("AA999").End(xlUp).Row
'Copie
Sheets("HR").Range("B" & i & ":H" & i).Copy Destination:=Worksheets(dossier).Range("AA" & Lig + 1)


Next i

MsgBox "opération effectuée"

End Sub


merci d'avance
 
Re : copie valeur et pas copie intégrale

bonsoir,

essayer ceci:
'à la place de Sheets("HR").Range("B" & i & ":H" & i).Copy Destination:=Worksheets(dossier).Range("AA" & Lig + 1)

Sheets("HR").Range("B" & i & ":H" & i).Copy
Worksheets(dossier).Range("AA" & Lig + 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False 'mettre ceci après copy
 
Re : copie valeur et pas copie intégrale

si j'osais, une question supplémentaire,
pour les mises à jour, je souhaiterai que les cellules copiées (dans HR) soient barrées et que seules les non barrées soient copiées, comment faire?
 
Re : copie valeur et pas copie intégrale


[SUP][/SUP]Re,

Il faut bien se mettre dans la tête qu'en VBA les Select sont à proscrire.

Mon code post #3 ne sélectionne rien du tout...

Edit : pour Resize voir l'aide VBA !

A+
 
Dernière édition:
Re : copie valeur et pas copie intégrale

Re,

La question des cellules "barrées" n'est pas tout à fait claire.

Je suppose que c'est la police des cellules qui est barrée.

Ici la copie se fait si la police de la 1ère cellule de la plage n'est pas barrée :

Code:
'Copie les valeurs si non barrées
With Sheets("HR").Cells(i, "B").Resize(, 7)
  If Not .Cells(1).Font.Strikethrough Then '1ère valeur non barrée
    Worksheets(dossier).Cells(Lig + 1, "AA").Resize(, 7) = .Value
    .Font.Strikethrough = True
  End If
End With
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
911
Réponses
15
Affichages
786
Réponses
4
Affichages
755
Retour