Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

explication de code VBA

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

pierrof

XLDnaute Occasionnel
Rebonjour
J'ai le code suivant qui me permet d'affacer des lignes vides
Sheets("Fabrication").select
For n = Range("B65536").End(xlUp).Row To 12 Step -1
If Range("B" & n) = "" Then Rows(n).Delete
Next n

Pourquoi cela m'efface les ligne d'ou je lance la macro et non pas de ma feuille "Fabrication"
 
Re : explication de code VBA

re:

question idiote, aurais tu des maros, qui t'empeche d'activer la feuille "Fabrication". parce que au vu du code,je ne vois que cette possibilite, une iterruption sur sheet_activate ou autre

encadre ton code avec
application.enableevents = false

code

application.enableevents = true

pour voir
 
Re : explication de code VBA

Salut Pierrof, Wilfried,

Il faut Activer la feuille et non la sélectionner. Cela lui donne le focus alors qu'une simple sélection ne le fait pas 🙁

Code:
Sheets("Fabrication").Activate

Cela devrait résoudre ton problème.

Bon courage
 
Re : explication de code VBA

re: bonjour jam

je comprends pas. un select ne donne pas le focus ? quand je fais un select d'une , ca ne m'a jamais mis les renseignements dans une autre ????

affaire à suivre, j'ai besoin d'explication
 
Re : explication de code VBA

J comprend plus rien j'ai fait un mixe de vos réponse er ça m'efface toujours sur la meme feuille😕 😕
Voici le code que j'ai avant/

'copie tableau tonnage et cubage
Sheets("Données").Select
Range("j139:l170").Select
Range("j138:l170").Copy Destination:=Worksheets("Fabrication").Range("b10")

'effacer lignes vides
Application.EnableEvents = False
Sheets("Fabrication").Activate
For n = Range("B65536").End(xlUp).Row To 12 Step -1
If Range("B" & n) = "" Then Rows(n).Delete
Next n
Application.EnableEvents = True
 
Re : explication de code VBA

Salut tout le monde, Salut Pierrof,

Tu doit vraiment avoir un gros soucis, car le code comme il est, doit obligatoirement t'effacer les ligne de la feuille "Fabrication" 😕

Pourrais-tu nous mettre ton fichier pour que l'on puisse regarder ?

Sinon tu peux rajouter au code
Code:
Application.EnableEvents = False
Sheets("Fabrication").Activate
For n = Range("B65536").End(xlUp).Row To 12 Step -1
If [COLOR=blue]Sheets("Fabrication").[/COLOR]Range("B" & n) = "" Then [COLOR=blue]Sheets("Fabrication").[/COLOR]Rows(n).Delete
Next n
Application.EnableEvents = True

Mais bon on ne comprends pas ce qui ce passe !?

A+
 
Re : explication de code VBA

Salut Wilfried,

Ooops tu as raison. J'ai été un peu trop rapide à répondre et j'ai utilisé le terme Focus à mauvais escient. Je pensais à la différence entre la sélection et la cellule active.

Désolé pour le "contresens" 🙂
 
Re : explication de code VBA

bonjour le fil
ne pas oublier les points devant range et rows
with Sheets("Fabrication")
For n = .Range("B65536").End(xlUp).Row To 12 Step -1
If .Range("B" & n) = "" Then .Rows(n).Delete
Next n
end with

à bientôt
 
- 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

Discussions similaires

Réponses
5
Affichages
909
Réponses
15
Affichages
779
Réponses
3
Affichages
332
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…