VBA - Test si une cellule fusionnée est vide

  • Initiateur de la discussion Initiateur de la discussion pikachpika
  • Date de début Date de début

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 !

P

pikachpika

Guest
Bonjour,

Pour une macro, je cherche à trouver la dernière page remplie dans une trame prédéfinie.
Pour cela, il faut que je teste la 1ere case de la page pour savoir si elle est vide mais cette case est fusionnée.

Ex : les cases A1 à E1 sont fusionnées et je voudrais savoir si la case est vide. Dans ce cas j'arrete, sinon, je descend de 60 lignes pour tester la 1ere case de la page suivante.

Merci d'avance pour votre aide
 
Re : VBA - Test si une cellule fusionnée est vide

Bonjour pikachpika, salut Pierrot 🙂

Les cellules fusionnées ne posent pas de problème à Application.Match (fonction EQUIV).

Voyez si cette macro vous convient :

Code:
Sub DernierePage()
Dim Hpage As Byte, derlig1&, derlig2&, derlig&, page%
Hpage = 60 'nombre de lignes, à adapter
On Error Resume Next
derlig1 = Application.Match("zzz", [A:A]) 'recherche dernier texte
derlig2 = Application.Match(9 ^ 9, [A:A]) 'recherche dernier nombre
On Error GoTo 0
derlig = Application.Max(derlig1, derlig2)
If derlig = 0 Then Exit Sub
page = 1 + Int((derlig - 1) / Hpage)
MsgBox "Dernière cellule : " & Cells(derlig, 1).Address & vbLf & "Dernière page : " & page
End Sub
A+
 
Dernière édition:
Re : VBA - Test si une cellule fusionnée est vide

Re,

Nettement plus simple d'utiliser End(xlUp) :

Code:
Sub DernierePage()
Dim Hpage As Byte, derlig&, page%
Hpage = 60 'nombre de lignes, à adapter
derlig = [A65536].End(xlUp).Row
page = 1 + Int((derlig - 1) / Hpage)
MsgBox "Dernière cellule : " & Cells(derlig, 1).Address & vbLf & "Dernière page : " & page
End Sub
A+
 
Re : VBA - Test si une cellule fusionnée est vide

Merci à vous pour vos réponse, j'ai trouvé, j'ai utilisé

Do
Nb_pages = Nb_pages + 1
ligne = Selection.Row
colonne = Selection.Column
Selection.Offset(60, 0).Activate
If ActiveSheet.Cells(ligne, colonne) = "" Then
test = 1
End If
Loop Until test = 1


Pierrot, le problème est que la cellule change à chaque test donc Range("A1") ne convient pas et j'ai pas réussi à l'adapter avec une cellule variable.

job, j'ai une trame de base qui contient les infos constantes pour 15 pages et la plupart du temps, il n'y a que 5 ou 6 pages utilisées donc je peut pas utiliser de fonction recherchant la dernière valeur. Par exemple, j'ai 50 lignes de données qui changent à chaque fois et 10 lignes de renseignements qui sont identiques pour toutes les pages.

Je vous remercie encore pour la rapidité
 
Re : VBA - Test si une cellule fusionnée est vide

Re, bonsoir Job🙂
Pierrot, le problème est que la cellule change à chaque test donc Range("A1") ne convient pas et j'ai pas réussi à l'adapter avec une cellule variable.

bah... à voir comment la déterminer, un petit fichier en pièce jointe représentant bien la structure de ton fichier devrait nous aider à t'aider...

bonne soirée
@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
854
Retour