macro: 2 questions-merci

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • 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 !

J

JJ1

Guest
Bonjour et bon dimanche à tous,
j'ai une petite macro qui fonctionne mais qui bloque à un nombre de lignes:
mon tableau de données va jusqu'à la ligne 2000 (col A à Z)
ma macro teste des nombres et peut aller jusqu'à la ligne 4000 par ex (col AA et plus)
ma ligne de commande est:
For i=1 To Range("a20000").End(xlUp.Row
...
(i est paramétré As Long, je pensais mettre Integer?)
le problème est que quand la macro arrive à la fin de mon tableau (ligne 2000) elle ne descend pas plus bas dans mon test de nombre jusqu a 4000 et s'arrête?
peut être à cause du ("a20000") ? il faudrait changer a par une autre colonne, AA par ex?

2ème question plus simple, je pense, comment écrire l'équivalent de:
=nb.si(AC1:AC4000;"OK")
dans la macro:
Range(ad2).Value = Sum ???
pouvez-vous m'aider?
merci
 
Re : macro: 2 questions-merci

Bonjour Jj1

pour ta 2ème question essaye comme ci dessous :


(utilisation de fonctions de feuilles de calcul)
Code:
Range("AD2").Value = Application.WorksheetFunction.CountIf(Range("AC1:AC4000"), "ok")

pour ta 1ere question, mets peut être le code en totalité, car là comme ca je vois pas... à priori tu recherches la dernière ligne de la colonne A, et tu parles d'autres colonnes...

bonne journée
@+
 
Re : macro: 2 questions-merci

Bonjour JJ1 et le Forum,

Réponse partielle pour avoir la dernière ligne et dernière colonne occupée:

Code:
Dernière_ligne= Selection.SpecialCells(xlCellTypeLastCell).Row
Dernière_Colonne = Selection.SpecialCells(xlCellTypeLastCell).Column
Pour le reste je regarde après la douche, c'est dimanche et je traîne..

Bon test
 
Dernière édition:
Re : macro: 2 questions-merci

Bonjour Pierrot 93
merci pour ton code de comptage.
Pou la 1ère question, oui la colonne de données est plus courte (2000 lignes de A à Z) alors que mes données pour la macro sont plus longues (4000 lignes, col AA et suivantes) , donc, dès que la macro arrive à la ligne 2001, elle s'arrête au lieu de continuer à tester mes nombres jusqu'à la ligne 4000.
je vais faire un copier-coller de la macro.
Bonne journée et merci
 
Re : macro: 2 questions-merci

Re JJ, bonjour Jyll

Attention, sauf erreur de ma part, la méthode "SpecialCells(xlCellTypeLastCell)" te renverra le numéro de ligne ou de colonne, même si la cellule en question a été effacée et ne doit donc pas être prise en compte...

@+
 
Re : macro: 2 questions-merci

Bonjour JJ1, Pierrot, Jyll, bonjour le forum,

Pour ton premier problème, si ton tableau commence à la ligne 1 tu peux obtenir la dernière ligne utilisée, indépendamment de la colonne, avec :

Code:
[COLOR=navy][COLOR=black]Sub Macro1()
Dim li As Long
li = ActiveSheet.UsedRange.Rows.Count
MsgBox li
End Sub[/COLOR][/COLOR]

Mas je ne suis pas sûr d'avoir bien compris. J'attends que Jyll ait fini sa douche pour voir ce qu'il en pense...
 
Re : macro: 2 questions-merci

Bonjour le Fil.

Effectivement Pierrot ta remarque est pertinente et la douche raffraîchit les idées, voici un nouveau code qui doit être plus pertinent

Code:
For I = 1 To Range("IV1").End(xlToLeft).Column
   For J = 1 To Cells(65536, I).End(xlUp).Row
      'Ton Code
   Next J
Next I

Bon test.
 
Re : macro: 2 questions-merci

Re,
Merci pour vos réponses.
Tout fonctionne
- le comptage se fait très bien (CountIf)

- le 1er message de Pierrot m' a mis la puce dans l'oreille (!!!!!) , en ait j'ai tout simplement modifié

For i=1 To Range("a20000").End(xlUp.Row
par ("aa20000") et ça fonctionne (je pense parce que la col A s'arrêtait justement à 2000 alors que AA continue jusqu'à 4000)
merci encore
bon AM
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Réponses
2
Affichages
673
Réponses
2
Affichages
1 K
Réponses
7
Affichages
1 K
D
Réponses
4
Affichages
1 K
E
Réponses
1
Affichages
1 K
S
  • Question Question
Réponses
2
Affichages
826
S
Retour