Macro qui attribue des formules à des cellules

degap05

XLDnaute Impliqué
Bonsoir,
J'ai besoin de votre aide pour compléter l'action du code ci-dessous.
Celui-ci vide la ligne des informations et reclasse les données.
Cela fonctionne très bien.
Une ligne vide d'information est placée en fin des enregistrements. Comment réattribuer leur formule d'origine à certaines cellules en colonnes O,P,Q,U,V,W,X,Y.

derlig = [A4].End(xlDown).Row
Range("A" & Target.Row & ":Z" & Target.Row).SpecialCells(xlCellTypeConstants).ClearContents
Range("A4", Cells(derlig, Target.Column)).Sort Key1:=Range("B4"), Order1:=xlAscending, Key2:=Range( _
"C4"), Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom


Merci de votre aide.
 

Pièces jointes

  • Classeur1.zip
    15.4 KB · Affichages: 21
  • Classeur1.zip
    15.4 KB · Affichages: 20
  • Classeur1.zip
    15.4 KB · Affichages: 23

cbea

XLDnaute Impliqué
Re : Macro qui attribue des formules à des cellules

Bonsoir degap05,

Si j'ai bien compris ta demande, voici une solution.
 

Pièces jointes

  • Classeur1_v1.zip
    18.8 KB · Affichages: 29
  • Classeur1_v1.zip
    18.8 KB · Affichages: 26
  • Classeur1_v1.zip
    18.8 KB · Affichages: 26

degap05

XLDnaute Impliqué
Re : Macro qui attribue des formules à des cellules

Bonjour, cbea,

Ta solution convient parfaitement, elle simplifie ma feuille en évitant d'attribuer des formules à des plages de cellules.

Est-il possible dans la macro d'indiquer que les cellules des colonnes Q et X sont au format date jj/mm/aaa.

Merci beaucoup.
 

cbea

XLDnaute Impliqué
Re : Macro qui attribue des formules à des cellules

Bonjour degap05, le forum,

Voici une solution (voir ligne rouge ci-dessous) :
Code:
    If Target.Column = 14 Then
        Range("O" & Lig).Formula = "=IF($N" & Lig & "<>"""",VLOOKUP($N" & Lig & ",Patients,2,0),"""")"
        Range("P" & Lig).Formula = "=IF($N" & Lig & "<>"""",VLOOKUP($N" & Lig & ",Patients,3,0),"""")"
[COLOR="Red"]        Range("Q" & Lig).NumberFormat = "m/d/yyyy"[/COLOR]
        Range("Q" & Lig).Formula = "=IF($N" & Lig & "<>"""",VLOOKUP($N" & Lig & ",Patients,4,0),"""")"
        Range("U" & Lig).Formula = "=IF($N" & Lig & "<>"""",$N" & Lig & ","""")"
        Range("V" & Lig).Formula = "=IF($O" & Lig & "<>"""",$O" & Lig & ","""")"
        Range("W" & Lig).Formula = "=IF($P" & Lig & "<>"""",$P" & Lig & ","""")"
[COLOR="red"]        Range("X" & Lig).NumberFormat = "m/d/yyyy"[/COLOR]
        Range("X" & Lig).Formula = "=IF($Q" & Lig & "<>"""",$Q" & Lig & ","""")"
        Range("Y" & Lig).Formula = "=IF($R" & Lig & "<>"""",$R" & Lig & ","""")"
 

Discussions similaires

Statistiques des forums

Discussions
313 344
Messages
2 097 337
Membres
106 916
dernier inscrit
Soltani mohamed