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

alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 - 26 mars 2024 à 15:24
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 28 mars 2024 à 11:00

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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
Modifié le 26 mars 2024 à 19:10

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 vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
27 mars 2024 à 09:52

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 vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
27 mars 2024 à 10:22

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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
28 mars 2024 à 11:00

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 vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
27 mars 2024 à 11:05

Re Bonjour,*

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

0