Amélioré les macro

Bonjour le forum,

j'ai un fichier qui contient plusieurs macros je voudrais améliorer tout ça

1- une macro pour supprime ligne et pour les colonnes je voudrais mettre ça dans une seule macro

2- macro fusion qui m'affiche un message erreur ci-jointe capture d'écran du message

3- concaténation d'Iris je veux qu'il arrête la copie a la dernière ligne et éviter "Valeur"

Merci

14doc1.docx (209.12 Ko)
18abdernino-ed-v02.xlsm (689.44 Ko)

Bonjour @Abdernino,

Au vu du code de tes macros :

  • Elles sont enregistrées
  • Tu ne maîtrises pas bien ce que tu souhaites faire, je crois (mai je peux me tromper)

Je te suggère de travailler avec des tableaux (beaucoup plus efficaces pour de nombreuses choses, notamment lorsqu'il y a des formules dans des colonnes, elles sont alors recopiées automatiquement dans toute la colonne à chaque modification, tu peux filtrer ton tableau sur une ou plusieurs colonne et, par exemple, sélectionner les lignes dont la première colonne est vide, et les supprimer sans macro avec un clic droit "Supprimer les lignes du tableau".

D'autre part, tu modifies le logo de l'entreprise en y ajoutant des effets pas forcément souhaitables et probablement non préconisés par l'entreprise dans sa charte graphique. Je crois qu'il vaudrait mieux que tu évites cette personnalisation.

Je te renvoie une version un peu travailler de ton fichier avec des macros ré-arrangées et simplifiées mais qui ne me semblent pas appropriées, ainsi que tes données mises sous forme de tableaux.

Bonjour

Un essai à tester. Te convient-il ?

Mais je ne vois pas l'intérêt de la macro qui fusionne toutes les cellules des colonnes A à V !

Bye !

Bonjour @Abdernino,

Au vu du code de tes macros :

  • Elles sont enregistrées
  • Tu ne maîtrises pas bien ce que tu souhaites faire, je crois (mai je peux me tromper)

Je te suggère de travailler avec des tableaux (beaucoup plus efficaces pour de nombreuses choses, notamment lorsqu'il y a des formules dans des colonnes, elles sont alors recopiées automatiquement dans toute la colonne à chaque modification, tu peux filtrer ton tableau sur une ou plusieurs colonne et, par exemple, sélectionner les lignes dont la première colonne est vide, et les supprimer sans macro avec un clic droit "Supprimer les lignes du tableau".

D'autre part, tu modifies le logo de l'entreprise en y ajoutant des effets pas forcément souhaitables et probablement non préconisés par l'entreprise dans sa charte graphique. Je crois qu'il vaudrait mieux que tu évites cette personnalisation.

Je te renvoie une version un peu travailler de ton fichier avec des macros ré-arrangées et simplifiées mais qui ne me semblent pas appropriées, ainsi que tes données mises sous forme de tableaux.

Abdernino_ED_v02.xlsm

Bonjour

c'est vrai je maîtrise pas beaucoup , mais je peux pas faire comme tu ma dit parceque mes données sont externe et ils on un certain format

Adbernino,

Envoie aussi tes données externes pour que je puisse voir ce qui est faisable ou non…

Adbernino,

Envoie aussi tes données externes pour que je puisse voir ce qui est faisable ou non…

Bonjour,

les données sur l'onglet IRIS sont de source externe c'est pour ca que je veux automatisé

Bonjour

Un essai à tester. Te convient-il ?

Mais je ne vois pas l'intérêt de la macro qui fusionne toutes les cellules des colonnes A à V !

Bye !

Bonjour gmp, très bien mais mon problème ce que je dois fusionne et supprimer encore une fois les colonnes vides , je joins mon fichier initial sur onglet iris. pour concaténer sur le iris il faut que cellule soit fusionnée. en plus la concaténation sur liquidation et iris je comprends pas pourquoi elle me recopie toujours contenu de la première cellule sur les autres

nb les trois premières ligne d'onglet iris doivent être supprimé

Modifier | Retour | Copier |

Bonjour ,

Sub supp()

Dim i&, c&

Worksheets("Iris").Activate

Rows("1:5").Select

Range("A5").Activate

Selection.Delete Shift:=xlUp

For i = [A65000].End(xlUp).Row To 10 Step -1

If Cells(i, 1) = "" Then Cells(i, 1).EntireRow.Delete

Next i

For c = 40 To 1 Step -1

If Cells(65536, c).End(xlUp).Row = 1 Then Cells(1, c).EntireColumn.Delete

Next c

End Sub

j'ai plus besoin de fusionné sur IRIS

Bonjour le forum,

C'est le calcul s.a qui fait mon fichier rame trop, mais si je désactive le calcul les formule ne marche pas alors comment faire?

Bonjour @abdernino,

Je ne comprends pas le but de tes macros qui cherchent des lignes ou des colonnes vides alors qu'il ne semble pas y en avoir dans ce que nous mets à disposition.

La fusion de cellule, en effet, ne conserve qu'une seule valeur de la cellule en haut à gauche de la sélection à fusionner. Est-ce bien de la fusion que tu souhaites faire ou plutôt de la concaténation ?

Il nous faudrait ton fichier Iris tel que tu l'obtiens avant tout traitement et tel que tu le souhaites pour pouvoir mieux juger de la façon de faire.

Bonjour le forum ;

Voilà j'ai désactivé calcul automatique , alors maintenant le fichier est accessible 1 la macro suppression colonne et ligne marche très plus besoin de fusion.

2 pour la macro concaténée Iris elle marche très bien moi j'ai besoin d'insérer une colonne en C et extraire les 5 premiers chiffres N° Sinistre, et après concaténer la colonne insérer avec total sur la dernière colonne vide .

3 pour la macro recherche v elle marche très mais dans la mesure du possible je voudrais que la copie de cette formule si RC>0

Merci beaucoup

Bonjour @abdernino,

Quelques remarques, Le calcul est long à se faire parce que ta feuille "Liqui" comporte de très nombreuses lignes a priori inutiles (70 lignes remplies dans la version que tu envoies) alors que qu'il y a des formules jusqu'à la ligne 7000 !

Dans les colonnes E, F et I de cette même feuille, tu utilises la fonction RECHERCHEV sur la colonne A complète d'un autre classeur, soient 3 fois des recherches sur plus d'un million de lignes chacune, alors forcément, les recherches sont longues… Il y a sûrement plus optimal mais sans les données dans lesquelles tu vas chercher ces infos, difficile de t'aide plus. Ah ben… les formules des premières lignes de ces colonnes ne sont pas les mêmes que celles de la fin de la colonne ! Étrange ! Et puis dans ces mêmes combinaisons de fonctions, tu utilises SIERREUR(formule;" "), pourquoi remplaces-tu une éventuelle erreur par un espace plutôt que par une chaîne vide comme on le fait habituellement ?

J'ai remplacé la formule de la colonne N de cette feuille par une autre qui n'a pas besoin de la fonction SI, un peu gourmande en ressources.

Revenons à la feuille Iris : c'est le bazar ! Désolé de te le dire, mais les colonnes entières avec des cellules inutilement fusionnées sont une horreur pour moi, cela empêche de nombreuses choses !

Je crois me souvenir que tu avais dit que ces données provenaient d'un source externe, soit, mais il me semble que tu cherchais à faire des fusions de cellules. Je pense que c'est vraiment une erreur de débutant que de vouloir faire ça.

Dans ta macro "concatener_iris", tu cherches à recopier la formule de la colonne C (nouvellement insérée) vers le bas, mais le nombre de lignes concernées va probablement changer à chaque fois, alors, ta ligne

Selection.AutoFill Destination:=Range("C2:C1096")

devra être modifiée chaque fois… pas top ! pareil dans la colonne Q. et puis, il y a des cellules fusionnées à la fin de l'importation qui sont inutiles elles-aussi et qui devraient être supprimées pour plus de facilité.

J'insiste à nouveau, mais sans tes fichiers vraiment d'origine et ce que tu souhaites obtenir, ce sera difficile de t'aider mieux… Ne met que les 10 ou 20 premières lignes, s'il le faut, change les noms s'ils sont trop confidentiels (mais on s'en fout !), mais si tu veux de l'aide constructive, il faut que tu joues le jeu jusqu'au bout.

Bonjour ,

Merci beaucoup pour tes ecplication.

Le fichier sur iris est le fichier d'origine copié de la source externe joint de le dernier fichier et maintenant j'ai plus besoin de fusionné avec la macro supprime ligne et colonne il arrange mon tableau sans passer par la fusion.

Pour la colonne c j'ai pas un nombre précis de ligne c'est pour ca que je fait ca

Pour le fichier de liquidation demain je te donnerai un exemple.

Et encore merci pour ton aide

Rechercher des sujets similaires à "ameliore macro"