macro optimiser pour detecter le nombre de celulle

fredh

XLDnaute Occasionnel
Bonsoir
J'ai un tableau excel avec une seule feuille qui contient des valeurs de plusieurs type.
Ma macros crée des feuille en fonction des type contenu.
Je doit rajouter un nouveau type qui necessite plus de colonne et de ligne. Le probleme est que avant j'avais un nombre de colonne fixe maintenant ce n'est plus le cas. J'aimerai donc que la macro detecte le nombre de colonne et de ligne.
ci joint une partie du code
Code:
Worksheets.Add.Name = "temp"
With Sheets(Org_Sheet)
    For n = 2 To .Range("A65536").End(xlUp).Row
        t = Split(.Range("A" & n), "-")
        Range("A" & ligne) = t(0)
        Range("B" & ligne) = t(1)
        Range("C" & ligne) = t(2)
        ligne = ligne + 1
    Next n
    [COLOR=seagreen]'ici mon ancian code avec des colonne fixe
    '.Range("B2:L" & .Range("A65536").End(xlUp).Row).Copy Destination:=Range("D2")[/COLOR]
'ici le nouveaux mais il ne marche pas
    .Range ("B2")
    .Range(Selection.End(xlToRight), Selection.End(xlDown)).Copy Destination:=Range("D2")
End With

Pouvez vous svp me dire ce qui cloche ?

merci et @+
 

fredh

XLDnaute Occasionnel
Re : macro optimiser pour detecter le nombre de celulle

Bonsoir Pierrejean

Ci joint un fichier exemple avec l'erreur que tu demande.
le code est dans un module et il s'appelle abfrage.

Vas tu reconnaitre ton code ?
Une grande partie du code c'est toi qui l'a pondu. J'y ai apporter pas mal de modif pour l'adapter a mes problemes.

Merci de ton aide.
 

Pièces jointes

  • Abfrage_Pierrejean.zip
    24.3 KB · Affichages: 20
  • Abfrage_Pierrejean.zip
    24.3 KB · Affichages: 20
  • Abfrage_Pierrejean.zip
    24.3 KB · Affichages: 24

pierrejean

XLDnaute Barbatruc
Re : macro optimiser pour detecter le nombre de celulle

re

le probleme evoqué semble résolu de la façon suivante

Code:
  fincol = .Range("B2").End(xlToRight).Column
  finligne = .Range("B2").End(xlUp).Row
  .Range(.Range("B2"), .Cells(finligne, fincol)).Copy Destination:=Range("D2")

par contre je tombe sur une erreur ensuite
si j'ais le temps je regarderais demain

verifie deja si tu obtiens bien ce que tu veux
 

fredh

XLDnaute Occasionnel
Re : macro optimiser pour detecter le nombre de celulle

Bonjour

Banzai : dans les with il me semble que tu n'est pas toujours obliger de mettre les references relatives.
Je crois que si tu ne mets pas les point devant le range alors la reference est ici dans mon cas la derniere reference avant le with. Si tu mete les points alors la reference est celle du with.
Il me semble que c'est cela mais je suis sur que Pierrejean s'aura me corriger.
 

pierrejean

XLDnaute Barbatruc
Re : macro optimiser pour detecter le nombre de celulle

re

la ligne sur laquelle la macro bute:

Code:
            If Sheets(nn).Range("H" & nnn) - Sheets(nn).Range("H" & nnn - 1) > 0.000025 Then ncoul = ncoul + 1

parce qu'en colonne H ce sont des dates !!
comme tu es seul a savoir ce que tu veux obtenir , je ne peux guere avancer

Quant au resultat de ton report :
Code:
.Range(.Range("B2"), .Cells(finligne, fincol)).Copy Destination:=Range("D2")

es-tu sur que c'est ce que tu souhaitais ????
 

fredh

XLDnaute Occasionnel
Re : macro optimiser pour detecter le nombre de celulle

Bonjour PierreJean

merci de m'aider

Effectivement suite a la correction que tu as proposer je bute aussi sur la ligne If Sheets(nn).Range("H" & nnn) - Sheets(nn).Range("H" & nnn - 1) > 0.000025 Then ncoul = ncoul + 1

Je pense que cela vient du fait que la modification
Code:
  fincol = .Range("B2").End(xlToRight).Column
  finligne = .Range("B2").End(xlUp).Row
  .Range(.Range("B2"), .Cells(finligne, fincol)).Copy Destination:=Range("D2")
ne fonctionne pas correctement.
En effet suite a la modif les valeur ne sont pas copier dans les feuilles.
Donc quand je compare deux date il trouve un texte (en '107033286'!H2) et une date (en ='107033286'!H3) pas cool....

je gratte encore un peu
 

pierrejean

XLDnaute Barbatruc
Re : macro optimiser pour detecter le nombre de celulle

re

si la modif ne fonctionne pas correctement c'est peut-etre parce que je n'ai pas su interpreter ce que tu voulais a partir de ce que tu as essayé de faire

si tu me disais clairement ce que tu veux (en francais) on avancerait surement plus vite
 

pierrejean

XLDnaute Barbatruc
Re : macro optimiser pour detecter le nombre de celulle

re

j'ai repris l'examen des posts precedents

effectivement le code suivant doit mieux fonctionner

Code:
fincol = .Range("B2").End(xlToRight).Column
finligne = .Range("B2").End(xlDown).Row
 .Range(.Range("B2"), .Cells(finligne, fincol)).Copy Destination:=Range("D2")

ensuite je bute sur

Sheets(nn).Tab.ColorIndex = 3

mais je suppose que c'est ma version (2000) qui est en cause
 

fredh

XLDnaute Occasionnel
Re : macro optimiser pour detecter le nombre de celulle

re pierrejean

merci de perseverer.
On va l'avoir ce probleme......

ci joint une nouvelle archive avec des commentaire avant chaque action.
Je pense que cela est plus claire que de partir dans des explications....
J'espere que cela serat plus claire pour toi sinon n'hesite pas a me demander

Merci et @+
 

Pièces jointes

  • Abfrage_Pierrejean.zip
    29.5 KB · Affichages: 21
  • Abfrage_Pierrejean.zip
    29.5 KB · Affichages: 18
  • Abfrage_Pierrejean.zip
    29.5 KB · Affichages: 17

fredh

XLDnaute Occasionnel
Re : macro optimiser pour detecter le nombre de celulle

Si tu le veut bien (l'oreal) on peut analyser ensemble les actions de la macro et arranger un peu tout ca pour accelerer et fiabilisé les actions.

Pour cela voir fichier avec toutes les actions commenté

merci et @+
 
Dernière édition:

fredh

XLDnaute Occasionnel
Re : macro optimiser pour detecter le nombre de celulle

Salut la Cie

voici le meme code apres netoyage et optimisation de ma part.
Quelqu'un pourrait il jeté un oeil avertit et me dire ce qu'il en pense, si il y a des modif a faire pour la stabilité, rapidité etc...

Chaque code est commenté de maniére a vous aidé dans la comprehension.

J'ai encore des chose a optimisé alors j'attend vos remarques avec joie.

Merci et @+
 

Pièces jointes

  • Abfrage_Pierrejean.zip
    24 KB · Affichages: 20
  • Abfrage_Pierrejean.zip
    24 KB · Affichages: 19
  • Abfrage_Pierrejean.zip
    24 KB · Affichages: 18

Discussions similaires

Réponses
7
Affichages
292
Réponses
4
Affichages
491

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG