mon code VBA copier coller inactif

recoverybis

XLDnaute Nouveau
Bonjour,
je reviens solliciter les plus aguerris car malgré tous mes efforts pour me débrouiller par mes propres moyens mon code VBA reste inactif. Je remercie d'ores et déjà ceux ou celles qui consacreront quelques instants pour corriger ce problème. l'objectif est de trouver la cellule contenant le mot Total de la feuille active et à partir de cette dernière copier uniquement les valeurs des 7 cellules à sa droite et de les coller deux cellules plus bas mais lorsque je lance la macro rien ne se passe même pas un message d'erreur.
voici le code utilisé profane en VBA je me doute qui va en faire hurler plus d'un.
Sub find()
ActiveSheet.Select
Dim derlig As Long, plage As Range, cel As Range, premaddrees
derlig = Range("B" & Rows.Count).End(xlUp).Row
Set plage = Range("B4:B" & derlig)

Set cel = plage.find(What:="Total", LookAt:=xlWhole)
If Not cel Is Nothing Then premaddrees = cel.Address
ActiveCell.Offset(0, 7).Copy
ActiveCell.Offset(2, 0).Select
Selection.PasteSpecial xlPasteValues
Application.CutCopyMode = False

End Sub

je joins le fichier et renouvelle mes remerciements à ceux et celles qui m'apporteront leur aide

Cordialement
 

Pièces jointes

  • Cantine_2019_béta (Enregistré automatiquement).xlsm
    1.8 MB · Affichages: 26

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour recoverybis,

Essayez le code suivant :?
VB:
Sub Recopier()  ' jamais très bon de nommer une procédure avec un mot clef de VBA ou d'Excel
Dim cel As Range
On Error Resume Next    ' si "Total" non trouvé, on continue l'exécution du code
Set cel = Columns(3).find(What:="Total", LookAt:=xlWhole) 'on cherche "Total" dans la colonne C
'si cel existe (donc on a trouvé "Total" dans la colonne C) alors
' on considère la plage des valeurs destination : deux lignes vers le bas, une colonne à droite et de 7 cellules en taille
' et on lui affecte les valeurs de la cellule cel décalée d'une colonne à droite et de taille 7 cellules
If Not cel Is Nothing Then cel.Offset(2, 1).Resize(, 7).Value = cel.Offset(, 1).Resize(, 7).Value
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
294 371
Messages
1 938 082
Membres
188 643
dernier inscrit
Stoppub