toff63
Messages postés8Date d'inscriptionvendredi 18 mai 2007StatutMembreDernière intervention30 octobre 2010
-
29 janv. 2008 à 23:21
toff63
Messages postés8Date d'inscriptionvendredi 18 mai 2007StatutMembreDernière intervention30 octobre 2010
-
30 janv. 2008 à 22:22
Bonsoir,
Aprés beaucoup de travail personnel et de recherche sur le net, j'ai fait ce code :
Sub SupprimerArticles()
Dim A As String
A = ActiveSheet.ListBoxArticles.Value
If MsgBox("Confirmer la suppression", vbYesNo, "SUPPRESSION") = vbYes Then
Sheets("Articles").Select
Dim rcel As Range
Range("A:A").Select
For Each rcel In Selection
If rcel.Value = A Then
rcel.EntireRow.Delete Shift:=xlUp
End If
Next rcel
Sheets("Saisies").Select
Range("B5").Select
End If
End Sub
Je voudrai savoir s'il est possible de le simplifier et surtout sur la partie soulignée en gras.
Je m'explique :
Le bouton sur lequel je clique pour activer la macro est dans la page "Saisies".
Quand je clique dessus, La page "Articles" apparait un instant puis je reviens sur la page "Saisie".
Au vue du code, je comprend que c'est normal mais c'est pénible.
Je voudrait donc que la ligne contenant la variable A dans la feuille "Articles" soit supprimé sans que la page n'apparaisse.
Sans qu'elle soit "selectionner".
J'ai essayé avec with et End with mais ça ne marche pas. Je n'utilise peut etre pas la bonne syntaxe.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 30 janv. 2008 à 01:51
Tu peux soit utiliser ce que Jack voulait dire, je pense, ...
Application.ScreenUpdating = False
ce qui empêche de voir les changements de sélections ou pages, qui fige dans un certain sens l'écran...
Tu peux aussi spécifier le nom de la feuille dans laquelle tu veux modifier des choses
ex: Tu es dans Feuil1 et tu veux modifier quelque chose dans Feuil2 sans l'afficher.
Sheets("Feuil2").Range("A1") = "Allo"
Msgbox Sheets("Feuil2").Range("A1")
Sheets("Feuil2").Range("A1") = "Modifié"
Msgbox Sheets("Feuil2").Range("A1")
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 janv. 2008 à 23:43
Salut
Ok, je sais qu'il a une fonction qui permet de figer la visu puis de la libérer, mais je ne me rappelle plus laquelle.
Ca t'avance pas, mais essaye de chercher de l'aide sur le mot "figer"
Tu es sous Excel = VBA, pas .Net (catégorie modifiée)
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)