Dysfonctionnement d'une macro

17pb-macro.docx (42.74 Ko)

Bonjour à vous tous,

Je dispose d'un fichier EXCEL qui me permet de faire mes comptes.

J'ai plusieurs feuilles dont 4 ont la même macro basique (aller en bas de page) jusqu'à la semaine dernière tout fonctionnait correctement et depuis la 1ere feuille ''CA courant '' ne fonctionne plus alors que les 3 autres fonctionnent.

J'ai détaillé le dysfonctionnement dans la PJ.

Je vous remercie pour votre aide.
daniel

Bonsoir Gaucher,

Sans le fichier Excel... comment peut-on vous aider le code ne suffit pas

Bonjour,
A adapter !
Cdlt.

Sub bas_de_page()
Dim plage As Range, r As Range
    With Worksheets("carte")
        Set plage = .Range("A7:A" & .Cells(.Rows.Count, 1).End(xlUp).Row)
        On Error Resume Next
        Set r = plage.SpecialCells(xlCellTypeBlanks)
        On Error GoTo 0
        If Not r Is Nothing Then r.Cells(1, 1).Select
    End With
End Sub

Voila le fichier que j'ai simplifié parce que trop gros, mais le PB subsiste toujours.

Bonjour Gaucher,

Un beau fichier avec un mot de passe ???

ric

Bonjour Gaucher, le fil

image

Comme l'a dit Ric, merci de supprimer le/les mot de passe SVP

Voila le fichier que j'ai simplifié parce que trop gros, mais le PB subsiste toujours.

@Jean-Eric, voilà pourquoi je demande un fichier, répondre dans le "vide" n'est souvent pas la solution

bonjour,

(à partir du fichier Word) "specialcells" connait ses limites, parce qu'il ne regarde pas plus long que "USEDRANGE".

Vous voulez selectionner vers la première cellule vide à partir de A7 ou la derniere cellule vide à partir de +A1.048.000 ?

(Application.goto est mieux que Select)

Sub bas_de_page()

     'egal a se positionner dans A1480000 et utiliser CTRL+fleche UP
     Set c = Range("A" & Rows.Count).End(xlUp).Offset(1)
     If c.Row < 7 Then Set c = c.Offset(7 - c.Row)
     Application.Goto c, 1
     MsgBox "cellule après la dernière cellule non-vide (après A6) est " & ActiveCell.Address

     'egal a se positionner dans A1480000 et utiliser CTRL+fleche DOWN et encore une cellule down
     On Error Resume Next
     Set c = Range("A7").End(xlDown).Offset(1)
     On Error GoTo 0
     If c.Row = 7 Then
          MsgBox "tout plein ou tout vide en dessous A7", , "grand problème"
     Else
          MsgBox "premiere cellule vide en dessous A7 est  " & ActiveCell.Address
     End If
End Sub

Oups, et pourtant je le savais, mais voila le fichier sans Mot de pass.

Je vous remercie pour vos investissements.

Daniel

re,

comme je l'avais dit, c'est le problème de "specialcells" combiné avec des tableaux bizarres, il y a des tableaux avec de lignes vides et il y a des tableaux avec des données après la dernière ligne. Comme çà, on n'est pas capable à 100% résoudre ce problème

CA-courant A148000 et CTRL+flèche UP = A30 >>> plage = A7:A30 et il n'y a pas de cellules vide là dedans

Bonjour Gaucher, le fil, le forum,

Eh! Eh! Je ne sais pas comment tu as fait cela ... mais ton "Tableau1" se termine à la ligne 28 ...

Il n’y a donc pas de cellule vide en colonne "A" ...

Clique sur le tableau ... en haut, clique sur "Création de tableau" ... puis à la gauche de l'écran "Redimensionner le Tableau" ...

Dès lors, la macro, sans la modifier, fonctionne bien ...

ric

11excel-compte.zip (102.48 Ko)

Rebonjour à tous ;

Je ne suis pas sûr de bien faire comprendre mon problème.

Ce fichier représente mes comptes persos.

Initialement dans la feuille CA courant il y a 800 et quelques lignes Idem pour d’autre feuilles. J’ai donc supprimé des lignes afin que ce soit plus léger.

Mais le PB reste strictement identique.

Par exemple si j’affiche à l'écran la ligne 5 de CE courant, le bas du tableau est caché et si j’appuie sur le bouton à droite « bas de page », la dernière ligne apparaît en milieu d’écran ce qui me permet de continuer à inscrire des opérations.

J’ai demandé à la macro de regarder la colonne A (date). Quand j’appuie sur le bouton « bas de page » je vais directement à la 1ere case vide de la colonne A. Et dans cette colonne il n’y a pas de trou, toutes les cases sont remplies jusqu’au bas du tableau ;

J’ai fait une copie d’écran de ce que je souhaite. (fichier "excel compte)

Dans la PJ j’ai inscrit « ICI » (normalement c’est la date)

Cette case doit être en milieu d’écran pour que je puisse continuer à remplir le tableau. C'est l'objectif du bouton "bas de page".

La page CA courant ça ne fonctionne pas, les 3 suivantes ça fonctionne.

En tout cas merci pour votre job.

Daniel

bonjour,

cette macro positionne la premiere cellule vide en haut à gauche, si vous ne voulez pas cela, effacez ", 1" dans la derniere ligne "application.goto ..."

Cette macro ne regarde plus si il y a des tableaux ou pas.

Sub bas_de_page()
     Dim lLigne
     lLigne = [max(if(a1:a1048000<>"",row(a1:a1048000),0))] + 1
     Application.Goto Range("A" & lLigne), 1
End Sub

Bonjour Gaucher, le fil, le forum,

Regarde ce fichier en retour ... ça fonctionne ...

Sur ton fichier de travail, où un bogue survient ... faits ceci > touche "F5" ... sélectionne le nom de ton tableau structuré ...
Il va être sélectionné ...

Dans le fichier compte-maison-au-25-7-22-copie.xlsm que tu nous as soumis plus avant ...
Ce tableau structuré de la feuille "CA-courant" se nomme "Tableau1" ...

En frappant la touche "F5 " et en sélectionnant le nom du tableau concerné ... est-ce que la plage sélectionnée se rend au bas de ton tableau ??

Si la plage sélectionnée ne se rend pas jusqu'au bas avec au moins une ligne vide ... il faut redimensionner ton tableau ...

NOTE 0 : Ce n'est parce qu'il y a des lignes colorées en alternance, au bas du tableau, qu'elles font nécessairement partie de ton tableau structuré ...

NOTE 1 : SpecialCells(xlCellTypeBlanks) travaille sur les tableaux structurés ...

NOTE 2 : le code soumis par BsAlv, que je salue, se rend à la 1re cellule vide au bas d'une plage ...

ric

Bonjour à tous,

Je m'excuse pour cette réponse tardive mais j'ai dû m'absenter .

Avec vos infos le problème venait bien de la dimension du tableau. (Pour rappel seule la feuille (CA-Courant ne marchait pas alors que les autre marchaient)

J'ai donc redimensionné le tableau et tout est revenu dans l'ordre.

Je remercie tous ceux qui se sont investis sur ce Pb.

Daniel

Sujet clos

Bonjour Gaucher, le fil, le forum,

Excellent ... un autre forumeur heureux ...

ric

Rechercher des sujets similaires à "dysfonctionnement macro"