Autres Effacer plusieurs cellules prédéfinis en utilisant une serie de boutons VBA macros

LUYGYS

XLDnaute Junior
Il s agit d' effacer les cellules d' un click ou il y a un 8 et aucune autre en utilisant une série de boutons dans l' ordre comme une séquence code !
Un peut DE VBA est bien venu !
Merci d' avance a tous les collaborateurs. ! :)

PS: le 8 est juste pour indiquer quelles sont les cellules a effacer, les donnes dans ces cellules peut être divers et de formats complètement différents !!!!

LUYGYS
 

Fichiers joints

Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil, LUYGYS

Il s'agit de commencer son fil de discussion en n'oubliant pas le point 3 de la charte du forum
(section pour tous)
:rolleyes:

Et pour la résolution de la question, faire les effacements souhaités tout en laissant tourner l'enregistreur de macros serait déjà un début, non ?
 

youky(BJ)

XLDnaute Barbatruc
Bonjour Luygys,
Voici un début . . . 2 macros
Créer un nouvel onglet mettre la propriété Codename= Feuil1
Inserer un module et copier ces 2 macros
Pour les boutons faut jouer avec .visible
Bruno
VB:
Sub Efface()
'fait copy avant au cas d'annule
Feuil1.[A9:A1091].Value = Sheet2.[B9:B1091].Value
For k = 9 To 1091
If Cells(k, 2) = 8 Then Cells(k, 2) = ""
End Sub

Sub Remets()
Sheet2.[B9:B1091].Value = Feuil1.[A9:A1091].Value
End Sub
 

Staple1600

XLDnaute Barbatruc
Re,

youky(bj)
Je parlais surtout du point 3) de la charte.
Je suis toujours étonné quand les "vieux de la vieille" d'XLD ne remarquent même plus cette discourtoisie très répandue chez les nouveaux membres.
 

LUYGYS

XLDnaute Junior
Bonjour le fil, LUYGYS

Il s'agit de commencer son fil de discussion en n'oubliant pas le point 3 de la charte du forum
(section pour tous)
:rolleyes:

Et pour la résolution de la question, faire les effacements souhaités tout en laissant tourner l'enregistreur de macros serait déjà un début, non ?
Bonjour.
il y a tellement de cellules a effacer et a utiliser une séquence de boutons qui finisse par effacer l 'ensemble de cellules que l' enregistreur de macro ça ne marche pas vraiment !
Il y a pas une autre solution !

Cordialement.

LUYGYS
 
Dernière édition:

LUYGYS

XLDnaute Junior
Bonjour Luygys,
Voici un début . . . 2 macros
Créer un nouvel onglet mettre la propriété Codename= Feuil1
Inserer un module et copier ces 2 macros
Pour les boutons faut jouer avec .visible
Bruno
VB:
Sub Efface()
'fait copy avant au cas d'annule
Feuil1.[A9:A1091].Value = Sheet2.[B9:B1091].Value
For k = 9 To 1091
If Cells(k, 2) = 8 Then Cells(k, 2) = ""
End Sub

Sub Remets()
Sheet2.[B9:B1091].Value = Feuil1.[A9:A1091].Value
End Sub
Bonjour !
J'ai essaie le VBA que vous avez fait sur la feuille 2 mais a part une message d erreur " END SUB " rien ne ce passe....il est ou le probléme !

Cordialement.

LUYGYS
 

Staple1600

XLDnaute Barbatruc
Re,

LUYGYS
C'est donc parce qu'il y tellement de cellules, que cela t’empêche de commencer ta discussion par un petit Bonjour
(comme la charte du forum nous invite tous à le faire) ?

Sinon pour ta question, une autre façon de faire
VB:
Public T
Sub Efface()
Dim p As Range
T = Feuil1.[B9:B1091].Value: Set p = Cells(9, Columns.Count).Resize(3 * 361)
p.FormulaR1C1 = "=IF(RC2=8,""$"",0)": p.SpecialCells(-4123, 2).Offset(, -Columns.Count + 2) = ""
Columns(Columns.Count).Clear
End Sub
Sub Remets()
Feuil1.[B9:B1091].Value = T
End Sub
 

LUYGYS

XLDnaute Junior
Bonjour !
J'ai essaie le VBA que vous avez fait sur la feuille 2 mais a part une message d erreur " END SUB " rien ne ce passe....il est ou le probléme !

Cordialement.

LUYGYS
Bonjour...
Je vais essayer les macros avec ces instructions ..
Cordialement

LUYGYS
 

LUYGYS

XLDnaute Junior
Re,

LUYGYS
C'est donc parce qu'il y tellement de cellules, que cela t’empêche de commencer ta discussion par un petit Bonjour
(comme la charte du forum nous invite tous à le faire) ?

Sinon pour ta question, une autre façon de faire
VB:
Public T
Sub Efface()
Dim p As Range
T = Feuil1.[B9:B1091].Value: Set p = Cells(9, Columns.Count).Resize(3 * 361)
p.FormulaR1C1 = "=IF(RC2=8,""$"",0)": p.SpecialCells(-4123, 2).Offset(, -Columns.Count + 2) = ""
Columns(Columns.Count).Clear
End Sub
Sub Remets()
Feuil1.[B9:B1091].Value = T
End Sub
Bonjour apparemment ça ne marche pas erreur message 424 objet required !!!!
Il est ou le problemo !!
Cordialement
LUYGYS
 

Staple1600

XLDnaute Barbatruc
Re

Je suppute que tu utilises un Excel en version anglaise (au vue du message d'erreur)
Le préciser aurait pu ne pas être inutile, may be ?

Remplaces partout dans le code que je t'ai proposé
Feuil1 dans le code par ActiveSheet
 

Staple1600

XLDnaute Barbatruc
Re

La macro Remets comme son l'indique sert à remettre les valeurs initiales :rolleyes:
(J'ai suivi l'exemple fourni par Youki(bj)
[C'est un vœu pieux, pas une critique - donc inutile de s'énerver]
Ce serait chouette d'être un peu attentif et ne de pas "bêtement" lancer la macro sans chercher à comprendre ce qu'elle fait...
[/C'est un vœu pieux, pas une critique - donc inutile de s'énerver]
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas