Problème avec range et suppression de ligne

Bonjour à tous,

je reviens chercher votre aide, car je tourne en rond sur un problème qui je pense devrait être solutionner rapidement grâce à vos talents ... ça c'est ma première question .

Et ma seconde question, je l'a mets plus bas.

Donc,

J'ai une macro qui se trouve sur le fichier "Macro All Demands excel pratique" qui s'execute en cliquant sur un bouton.

Cette macro demande un autre fichier, que vous trouverez en copie "All demand Source 20200806". J'ai supprimé toutes les données se trouvant dans certaines colonnes, mais elles ne sont pas nécessaire pour le déroulement de la macro.

Mon problème est un message d'erreur qui intervient sur une ligne qui j'ose pensé que je maitrise ... lol

voici le message d'erreur

erreur vba

en cliquant sur "Débogage", il me souligne la ligne en fin de macro

code vba

Deuxieme question,

j'ai besoin de supprimer les lignes dans le fichier qui a été généré, en fonction d'info qui se trouve dans le fichier "Macro All Demands excel pratique" et dans l'onglet "Studies".

Si je trouve les codes dans '"Studies", il faut que la ligne de mon fichier généré en dernier soit supprimer ... en gros je compare les deux fichiers et si j'ai le trial code dans "Studies", je supprime la ligne dans le fichier généré.

J'espère que je suis assez clair dans mon explication, sinon n'hésitez pas ....

merci pour votre patience et votre aide !

Laurent

Bonjour,

Concernant le 1er problème, surtout si tu navigues souvent entre 2 fichiers, peut-être serait-il préférable que tu indiques sur quel fichier et sur quelle feuille tu veux réaliser tes actions.

C'est possible que le programme ne sache plus trop où il habite au moment où tu lui demandes de sélectionner le range.

Bonjour JoyeuxNoel,

Merci pour ta réponse rapide !

si je n'ai pas fait d'erreur dans mes codes, je lui ai bien précisé sur quelle feuille il doit travailler.

code vba

d'ailleurs, je ne devrais pas avoir besoin de lui repréciser car juste avant il bossait sur cet onglet.

Ben ça on n'en sait rien vu le peu d'infos que tu donnes...

Je bascule sur ordi et je vais essayer de voir le code en entier avec ton fichier

C'est normal, ça ?

Private Sub CommandButton2_Click()

Dim nomsource As Workbook

'ouvre le fichier source
    nom_fichier_source = 

j'avoue que je ne suis pas très doué ... je tente d'apprendre en piquand des codes sur le net et en essayant de les comprendre ... pas facile !

Merci pour ton aide :)

Je ne suis pas un pro non plus, mais là j'avoue que le code me laisse perplexe ...

Bonjour,

Je testerai un peu les bibliothèques : Ça sent un peu les bibliothèques déclarées manquantes...

(Dans VBA : Outils > Référence... Décocher celle déclarée manquante.)

A+

Bonjour,

Essaie simplement :

With onglet
        derniere_ligne = .Cells(Rows.Count, 1).End(xlUp).Row
        derniere_colonne = .Cells(1, Columns.Count).End(xlUp).Column
        .Cells(1).Resize(derniere_ligne, derniere_colonne).AutoFilter Field:=6, Criteria1:="=*cancel*"
    End With

Bonjour à tous ...

JoyeuxNoel,

j'ai supprimé la ligne avec le Dim, mais en effet, je pense que c'est pas normal, j'ai donc changé le nom "nomsource" par "nom_fichier_source", mais j'ai une erreur qui apparait, donc je l'ai supprimé et là ça fonctionne ...

Galopin01,

1/ désolé, mais j'ai un doute sur ce que tu as écrit, il faut décocher et pas cocher plutôt, car si elles sont manquantes, il faut les activer, non ?

2/ je suis paumé, je vois pas de quelle bibliothèques déclarées manquantes tu parles ?

voici ce que j'ai de coché, toutes les autres ne le sont pas

biblio vba

Jean-Eric,

j'ai remplacé par ton code, et j'ai un message d'erreur

erreur vba

et apres débogage,

erreur vba 2

j'ai positionné mon curseur sur "derniere_colonne = .Cells(1, Columns.Count).End(xlUp).Column" pour voir la valeur de derniere_colonne, et il me dit 16384 ??? il devrait pas me donner une lettre. Ou alors un chiffre, mais d'apres mon fichier ça serait, soit "Q" soit "17".

Merci à tous pour votre aide !

Laurent

Re,

Le filtre est normalement déjà effectué !...

Supprime cette partie redondante de ta procédure.

Cdlt.

Ou peut-être simplement :

cells(1,1).currentregion.autofilter... ?

Et oui, j'avais pas fait attention à ça ...

désolé,

donc un merci à tous pour votre aide... Concernant la seconde question, je vais ouvrir une autre question, ça sera plus simple

bonne journée à vous

Laurent

Re,
On titille...
Plus simplement : Cells(1).currentregion.autofilter... ?
Rechercher des sujets similaires à "probleme range suppression ligne"