Valeur dernière ligne selon une colonne fusionnée à côté

alea83500 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour à tous,

Sur une cellule qui est fusionnée, j'essaie de récupérer la valeur de la dernière ligne de la colonne d'à côté.
Mon code se présente comme ceci, et avec la fonction adress ca ne fonctionne pas.
La formule renvoie C$7:C$10 alors que je voudrais que C10..
Il me manque sûrement encore une fonction..
Merci pour votre aide car tous mes essais ont échoués.;

Dim Nblg As Long, Plage As Range, Ligne As Long
Dim ct As Long
  Application.ScreenUpdating = False
  Nblg = Range("A" & Rows.Count).End(xlUp).Row
  Range("D7:D" & Nblg) = ""
  Ligne = 7
  While Ligne < Nblg
    Set Plage = Range("D" & Ligne).MergeArea
'.MergeArea.Cells.Count, 1)
 'marche presque:Range("D" & Ligne).Formula = "=RIGHT(" & Plage.Offset(0, -1).Resize(Plage.Rows.Count, 1).Address(0, 0) & ",1" & ")"
  'Range("D" & Ligne).Formula = "=(" & Plage.Offset(Plage.Rows.Count, -1).Address(0, 0) & ")"
  Range("D" & Ligne).Formula = "=(" & Plage.Offset(Plage.Rows.Count, -1).Address(0, 0) & ")"
 ' Range("D" & Ligne).Formula = "=(" & Plage.Offset(0, -1).Address(0, 0) & ")"
 
 '  Range("D" & Ligne).Formula = "=RIGHT(" & Plage.Offset(0, -1).Resize(Plage.Rows.Count).Address(, 0) & "),1)"
    Ligne = Ligne + Plage.Rows.Count
A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour, avec des cellules fusionnées, j'éviterais de faire des offset.

Plage.Formula = "=" & Cells(Plage.Row + Plage.Rows.Count - 1, Plage.Column - 1).Address
0
alea83500 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   1
 

Bonjour,

Car marche super merci à vous vraiment car je ne savais plus quoi essayer..

Bonne journée.

0
alea83500 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   1
 

Re Bonjour,

J'essaie d'enlever la formule afin d'écrire directement le résultat dans la cellule et pas la formule, j'ai essayé en mettant  : Plage =.....VALUE mais ca ne fonctionne pas.

J'essaie de faire cela afin d'éviter un copier coller valeur qui ne fonctionne pas sur des cellules fusionnées.

Merci pour votre aide.. encore

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

Dommage que tu ne montres pas ce que tu as essayé.  Ceci fonctionne:

Plage = Cells(Plage.Row + Plage.Rows.Count - 1, Plage.Column - 1)
0
alea83500 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   1
 

Re Bonjour,*

J'ai trouvé :  Plage.Formula = Plage.Value

0