Macro très lente et déclarations de variables!

SETILA

XLDnaute Junior
Bonjour à tous,

Depuis plusieurs semaines j'essaie de trouver la solution ! je suis vraiment novice.
Les codes VBA sont très lent et j'aimerai déclarer les variables pour gagner en rapidité?!
Sur la Sheet1("Scan") soit je scan et la colonne B fait un tronque ou soit je le note manuellement dans la colonne C et se copy en B
mais par exemple quand je copy de la cellule de C2 à B2 Range("C2:C5000").Copy Range("B2:B5000") le tronque s'efface sur toute la colonne(B) donc je ne peux plus scanner (A)???
Je veux que quand je passe en manuelle la cellule qui est en A ce colorie en Noir.
Super compliqué d'expliquer, donc poser moi des questions si besoins.
Pouvez-vous m'aider SVP et m'expliquer afin de comprendre.
Merci d'avance.

Setila
 

Pièces jointes

  • TEST.xlsm
    824.9 KB · Affichages: 53
Dernière édition:

SETILA

XLDnaute Junior
Bonjour Patrice,

Avec tout le respect que j'ai pour vous,
Je ne cherche pas à obtenir une réponse rapide mais plutôt avoir plusieurs avis car cela me permet aussi d'appendre et de transmettre.
Je suis confronté à de grosse difficulté avec ce fichier.
merci de votre compréhension.

Setila
 

Magic_Doctor

XLDnaute Barbatruc
C'est curieux ces gens qui ont l'âme de flics.
Déjà, se rendre compte qu'un quidam a posé la même question sur des sites différents... C'est un trait de caractère !
Personnellement il m'est déjà arrivé de poser la même question sur plusieurs forums, n'ayant pas de réponse sur mon forum de prédilection (ce qui peut toujours arriver). Je n'ai pas eu l'impression d'avoir pour autant contaminé le net... Faudrait pas exagérer.
M. Patrice33740, vous n'en êtes qu'à 229 messages et déjà vous réprimendez quelqu'un qui n'en est qu'à son second message. Qu'est-ce que ce sera quand vous en serez à plusieurs milliers ! Vous auriez mieux fait de répondre tout simplement à sa question.

Magic_Profesor

Et oui, maintenant ye souis Barbatrouc. Pour fêter ça mi mujer m'a préparé un asadito de derrière los fagotes (chorizos, mollejas, morcillas dulces, vacío y mucho chimichurri). ¡Que lo parió!
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

@Magic_Doctor
La question ici n'est pas de poster son problème sur plusieurs forums.
C'est simplement qu'il est apprécié et cela depuis l'époque de Usenet d'indiquer par lien qu'on a posé la question ailleurs.
Ni moi, ni Patrice33740 n'avons inventé la notion de multipostage ou de netiquette
(voir mon lien dans le précédent message)

Par ailleurs, pas de retour du demandeur à ma suggestion pour son code alors que le demandeur se dit être en attente de plusieurs avis.

Personnellement, j'attends le retour du demandeur car je comprends pas ce qu'il veut dire ici:
Qu'est-ce qu'un tronque ?
Sur la Sheet1("Scan") soit je scan et la colonne B fait un tronque ou soit je le note manuellement dans la colonne C et se copy en B
mais par exemple quand je copy de la cellule de C2 à B2 Range("C2:C5000").Copy Range("B2:B5000") le tronque s'efface sur toute la colonne(B) donc je ne peux plus scanner (A)???
 

Magic_Doctor

XLDnaute Barbatruc
Staple, comprenez ma vision des choses. Quand on va sur un forum, ce n'est pas pour se faire engueuler par des gens auxquels on aurait envie de dire en dialectique mitterrandienne : "Pour qui vous prenez-vous ? Pour qui me prenez-vous ?"
Je me répète, mais un forum n'existe uniquement que pour le fun !
On est assez emmerdés comme ça toute la journée par la cohorte des foudroyés par le bien. Vous savez, les infatigables moralisateurs...

Netiquette... je connaissais pas. C'est marrant, ça rime avec...
 

Staple1600

XLDnaute Barbatruc
Re

@SETILA
Autre coutume: prévenir si présence d'une procédure WorkBook_Open()*
VB:
'Private Sub Workbook_Open()
''Affichage de la feuille EXEMPLE
'Application.DisplayFullScreen = True' * : notamment pour ce genre de surprise
'    Sheets("Scan").Visible = -1
'    Sheets("Liste").Visible = -1
'
'    'Feuille de démarrage cachée
'    Sheets("Accueil").Visible = 2
'    Sheets("liste").Range("C4:c21084").Formula = "=countif(Scan!$B$2:$B$5000,A4)"
'
'End Sub
Sous réserve de confirmation, la lenteur vient peut-être de tes formules sur 21000 lignes?
 

Staple1600

XLDnaute Barbatruc
Re

@SETILA
Je viens de comprendre que tu parlais de la fontion TRONQUE.
Voir si en remplaçant tes formules par leur équivalent VBA, ton problème de lenteur disparaitrait.

@Magic_Doctor
As-tu au moins cliquer sur mon lien?

NB: La plus grande part des questions* de ce forum sont d'ordre professionnel.
*:questions que les membres rencontrent avec leur fichier Excel dans leur travail
(rien à voir avec le fun)
(La part congrue étant réservée au fun, voir par exemple le relatif insuccès de mon récent fil dans le salon)

C'est vrai que la netiquette date de 1995 (et que depuis le net a bien changé)
Ci-dessous l'originale dans son jus de l'époque
https://www.ietf.org/rfc/rfc1855.txt
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour JM, Patrice33740, Magic_Doctor, SETILA, à toutes et à tous,

@Magic_Doctor

Je viens de lire ce fil ……
J’apporte mon soutien à JM et à Patrice3374

Bien sûr, on peut comprendre que le demandeur soit dans sa question, son besoin et pense à lui et non aux conséquences en posant la même question sur des sites différents.

C’est ainsi pour beaucoup d’entre nous pour toutes nos actions. Nous ne pensons pas assez à l’autre.

Pourtant, ici (comme certainement sur les autres forums), nous sommes aidés pas des passionnés qui donnent de leur temps humblement et par pure gentillesse ….

Alors, nous devrions penser à ne pas leur en faire « trop » perdre.

Je comprends ce que tu dis Magic mais je ne peux cautionner tes propos qui, même si tu ne le dis pas, pourraient faire penser qu’il est normal de poster une même question sur plusieurs forums.
Ce n’est pas mon avis et c’est souvent plus difficile à gérer pour le demandeur.

En revanche tu as raison, on ne va pas sur un forum pour « se faire engueuler » LOL.
Toutefois, les remarques toujours pertinentes de nos bienfaiteurs ne sont pas des « engueulades » plutôt des réactions humaines devant ce qui apparait comme des manques aux règles élémentaires de vie et de respect des autres.

Alors, il me semble mieux et plus respectueux, comme le disent JM et Patrice33740, de poster et d’attendre les réponses qui sont d’ailleurs souvent si rapides sur notre forum.

En cas de non retour, avant de poster sur un autre forum, il me semble également correct de prévenir.

Je vous souhaite à toutes et à tous de belles fêtes de fin d’année.
Amicalement,
Lionel,
 

eriiic

XLDnaute Barbatruc
Bonjour,

Quel est le problème d'essayer d’inculquer de bonnes et saines pratiques ?

Magic doctor tu travailles surtout pour toi et peu pour les autres...
Le jour où tu passeras de l'autre coté de la barrière peut-être que tu comprendras mieux lorsqu'après avoir passé 1/2h ou 1h sur un fichier tu t'aperçois que c'est pour rien car il avait déjà la réponse depuis 4h sur un autre forum et n'avait pas eu la délicatesse de le signaler.
Ce temps aurait pu être utilisé à aider qq'un d'autre.

Et pourquoi informer les helpers que c'est posé sur d'autres forums serait mal ? Il s'agit juste de combler un oubli (ou méconnaissance) du demandeur.
Au moins on peut répondre en connaissance de cause, et sans rabâcher qq chose de déjà proposé.
eric
 

SETILA

XLDnaute Junior
Bonjour à tous,

Merci beaucoup Magic Doctor.
Vous comprenez que le but de ma requête n'était pas d'avoir une solution toute faite mais bien de comprendre et apprendre les ficelles du VBA par vôtre expertise et vos connaissances!
Je me suis senti exclu de vôtre communauté, non pas de vôtre site mais de tout les sites Excel car patrice à pris la peine de poster sur les autres sites!!!
Cordialement,
Setila
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa