Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction range sur une plage de cellule - dernière cellule non vide

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 !

Tahititin

XLDnaute Occasionnel
Bonjour à tous,

Je travaille acuellement sur un fichier excel permettant de synthètiser le contenu de plusieurs onglets (tous identiques) sur un onglet unique. Mon soucis est que sur ces onglets servant de base, j'ai un champ "indice"' (A33 à A36) qui peut aller de 0 à 3 qui est rempli (ou pas) sur les colonnes correspondantes (B33 à B36 et H33 à H36) en fonction des demandes. je ne parvient pas, dans l'onglet synthèse, à faire en sorte qu'il me selection le dernier indice complété.
Je vous joins le fichier pour mieux comprendre

Merci d'avance pour votre aide
 

Pièces jointes

Re : Fonction range sur une plage de cellule - dernière cellule non vide

Bonjour Tahititin,

Dans Worksheet_Activate :

Code:
'---
            lig = 33 + Application.Max(Sheets(x).Range("A33:A36"))
            Range("P" & x) = Sheets(x).Range("A" & lig) 'Indice
            Range("Q" & x) = Sheets(x).Range("B" & lig) 'Commentaire MOE'
            Range("R" & x) = Sheets(x).Range("H" & lig) 'Suite à donner'
'---
A+
 
Re : Fonction range sur une plage de cellule - dernière cellule non vide

Bonjour Job75
et merci pour ce retour. cela ne fonctionne cependant pas comme je le voudrais. Il me prends bien la dernière ligne non vide de la colonne indice 'A' sur les onglets ('P' sur la synthèse) par contre cela ne fonctionne pas sur les colonnes 'B' et 'H' des onglets respectivement 'Q' et 'R' de la synthèse. J'ai cru que cela était du à la déclaration de valeur 'Lig' qui "tape" uniquement sur A33 à A36 et non sur les autres colonnes... j'ai donc essayé ça :

------
lig = 33 + Application.Max(Sheets(x).Range("A33:A36"))
Range("P" & x) = Sheets(x).Range("A" & lig) 'Indice
lid = 33 + Application.Max(Sheets(x).Range("B33:B36"))
Range("Q" & x) = Sheets(x).Range("B" & lid) 'Commentaire MOE'
lic = 33 + Application.Max(Sheets(x).Range("H33:H36"))
Range("R" & x) = Sheets(x).Range("H" & lic) 'Suite à donner'
------

mais ça ne fonctionne pas j'ai toujours dans la synthse la première ligne (B33 et H33) qui s'affiche.


Merci de ton aide
 
Re : Fonction range sur une plage de cellule - dernière cellule non vide

Re,

Pas très cohérent ce que vous voulez faire.

Mais si vraiment vous voulez la dernière valeur de chaque colonne A B H :

Code:
Dim x As Byte, c As Range
'---
            Range("P" & x).Resize(, 3) = "" 'RAZ
            Set c = Sheets(x).Range("A33:A36").Find("*", , xlValues, , , xlPrevious)
            If Not c Is Nothing Then Range("P" & x) = c 'Indice
            Set c = Sheets(x).Range("B33:B36").Find("*", , xlValues, , , xlPrevious)
            If Not c Is Nothing Then Range("Q" & x) = c 'Commentaire MOE
            Set c = Sheets(x).Range("H33:H36").Find("*", , xlValues, , , xlPrevious)
            If Not c Is Nothing Then Range("R" & x) = c 'Suite à donner
'---
A+
 
- 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

V
  • Question Question
Réponses
0
Affichages
772
Varona Rodriguez
V
P
Réponses
6
Affichages
1 K
Pieerre69
P
C
Réponses
4
Affichages
1 K
CASPE
C
A
Réponses
0
Affichages
7 K
Arpopa
A
K
Réponses
14
Affichages
13 K
Karlito91170
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…