XL 2019 Macro VBA pour remplacer fonction par valeur si condition respecté

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 !

WinnieJ

XLDnaute Nouveau
Bonjour a tous,

Etant novice en VBA j'essaye de coller des bouts de code que je trouve sur les forums pour créer ce que je recherche.
Cependant j'ai du mal a réaliser ce code qui me semble pourtant assez simple.

Explication :
Si cellule A2 de la feuille "donnée" = à une valeur d'une cellule de la colonne A de la feuille "DECEMBRE22" alors copier la ligne correspondante de B à K et coller au même endroit pour écraser les formules.

Je joins un fichier test pour plus de compréhension

Je vous remercie pour votre aide.

J'ai commencé par faire ceci :

VB:
Sub heurefinalise()

Dim lig As Long
Dim col As Long

Worksheets("DECEMBRE22").Select
 
    If Cells(lig, 1) = Worksheets("Données").Range(Cells(2, 2)).Value Then Worksheets("DECEMBRE22").Range("BX" & lig & ":DJ" & lig).PasteSpecial Paste:=xlPasteValues
    
    End If

End Sub
 

Pièces jointes

Bonjour
Etant novice en VBA j'essaye de coller des bouts de code que je trouve sur les forums pour créer ce que je recherche.
Eh non ça s'invente pas. Il faut prendre le temps de comprendre ce qu'on fait, de décomposer et d'explorer..

Et pour une macro, vous mettez un classeur .xlsx, par nature sans macro 😵

Je passe mon chemin et vous souhaite bon apprentissage
 
Bonjour

je ne comprend pas bien le lien entre ce que tu décris comme besoin, et le fichier

VB:
Sub Ecraser()
Jourcherché = Sheets("Donnée").Range("A2")
With Sheets("Decembre22")
    Set trouve = .Range("A:A").Find(Jourcherché, LookIn:=xlValues) 'on cherhce le jour dans la colonne A
    If Not trouve Is Nothing Then 'si on l'a trouvé,
        .Range("B" & trouve.Row).Resize(1, 10) = Sheets("Donnée").Range("B2:K2").Value 'on copie les données de B2K2 à la ligne (trouve.row)
    End If
End With
End Sub
 
Bonjour

je ne comprend pas bien le lien entre ce que tu décris comme besoin, et le fichier

VB:
Sub Ecraser()
Jourcherché = Sheets("Donnée").Range("A2")
With Sheets("Decembre22")
    Set trouve = .Range("A:A").Find(Jourcherché, LookIn:=xlValues) 'on cherhce le jour dans la colonne A
    If Not trouve Is Nothing Then 'si on l'a trouvé,
        .Range("B" & trouve.Row).Resize(1, 10) = Sheets("Donnée").Range("B2:K2").Value 'on copie les données de B2K2 à la ligne (trouve.row)
    End If
End With
End Sub

Bonjour, merci de votre réponse.

Le début du code est top cependant arrivé à cette ligne de code : Sheets("Donnée").Range("B2:K2").Value 'on copie les données de B2K2 à la ligne (trouve.row) il y a un problème car cela fige les données B2:K2.

Ce que je recherche est de copier et coller en valeur la ligne de (B et ligne trouvée) et (K et ligne trouvée) au même endroit pour écraser les formule présente.

J'espère me faire comprendre et je te remercie.
 
- 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
4
Affichages
147
Réponses
16
Affichages
1 K
Réponses
2
Affichages
300
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
794
Retour