suppression de données

Le
Sunburn
Bonjour,
par macro, je voudrais supprimer des données spécifiques de mon classeur,
onglet par onglet.
mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
voilà ce que j'ai, MERCI de votre aide :

Sub FTS20()
'onglet 20_23
Sheets("20_23").Select
'effacement
Range("H9:I40,J42").Select
Selection.ClearContents
'on met la valeur NA en A4
Range("A4") = "NA"
End Sub
-
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #18024541
Bonsoir,

A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
ci-dessous ne fonctionne pas.
Ceci fait la même chose sans les sélections INUTILES
'--------------
Sub FTS20()
With Sheets("20_23")
'onglet 20_23
.Range("H9:I40,J42").ClearContents
'on met la valeur NA en A4
.Range("A4") = "NA"
End With
End Sub

'-----------

--
Salutations
JJ


"Sunburn" news:
Bonjour,
par macro, je voudrais supprimer des données spécifiques de mon classeur,
onglet par onglet.
mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
voilà ce que j'ai, MERCI de votre aide :
---
Sub FTS20()
'onglet 20_23
Sheets("20_23").Select
'effacement
Range("H9:I40,J42").Select
Selection.ClearContents
'on met la valeur NA en A4
Range("A4") = "NA"
End Sub
----



FFO
Le #18024511
Rebonjour à toi

Ton code en l'état fonctionne trés bien
Mais si tu l'utilises dans ton classeur pour lequel je t'ai fourni
différents codes à ma connaissance les feuilles sont vérouillées
Il serait donc bon d'inclure une procédure de déprotection en début et de
reprotection en fin comme je te l'ai indiqué :

Sub FTS20()
'onglet 20_23
Sheets("20_23").Select
Activesheet.Unprotect ("Mot de passe")
'effacement
Range("H9:I40,J42").Select
Selection.ClearContents
'on met la valeur NA en A4
Range("A4") = "NA"
Activesheet.Protect ("Mot de passe")
End Sub

Celà devrait mieux fonctionner sans doute
Dis moi !!!
Sunburn
Le #18024811
oui, ça fonctionne mieux comme cela.
Donc a priori, avec "with", il n'y a pas besoin que les onglets soit
visibles ?
Merci, ça va me simplifier mes codes.
YANN

"Jacky" a écrit :

Bonsoir,

A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
ci-dessous ne fonctionne pas.
Ceci fait la même chose sans les sélections INUTILES
'--------------
Sub FTS20()
With Sheets("20_23")
'onglet 20_23
.Range("H9:I40,J42").ClearContents
'on met la valeur NA en A4
.Range("A4") = "NA"
End With
End Sub

'-----------

--
Salutations
JJ


"Sunburn" news:
> Bonjour,
> par macro, je voudrais supprimer des données spécifiques de mon classeur,
> onglet par onglet.
> mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
> voilà ce que j'ai, MERCI de votre aide :
> ---
> Sub FTS20()
> 'onglet 20_23
> Sheets("20_23").Select
> 'effacement
> Range("H9:I40,J42").Select
> Selection.ClearContents
> 'on met la valeur NA en A4
> Range("A4") = "NA"
> End Sub
> ----
>





Sunburn
Le #18024791
jacky, lorsque j'ai des déplacements d'info, ça peut aussi marcher avec
"with" ??
Merci à toi, YANN
----
Sub FTS30()
'onglet 30_31
Sheets("30_31").Select
'deplacement
Range("H10:H29").Select
Selection.Copy
Range("F10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
'effacement
Range("E10:E29,H10:H29").Select
Selection.ClearContents
'on met la valeur NA en A4
Range("A4") = "NA"
-----

"Jacky" a écrit :

Bonsoir,

A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
ci-dessous ne fonctionne pas.
Ceci fait la même chose sans les sélections INUTILES
'--------------
Sub FTS20()
With Sheets("20_23")
'onglet 20_23
.Range("H9:I40,J42").ClearContents
'on met la valeur NA en A4
.Range("A4") = "NA"
End With
End Sub

'-----------

--
Salutations
JJ


"Sunburn" news:
> Bonjour,
> par macro, je voudrais supprimer des données spécifiques de mon classeur,
> onglet par onglet.
> mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
> voilà ce que j'ai, MERCI de votre aide :
> ---
> Sub FTS20()
> 'onglet 20_23
> Sheets("20_23").Select
> 'effacement
> Range("H9:I40,J42").Select
> Selection.ClearContents
> 'on met la valeur NA en A4
> Range("A4") = "NA"
> End Sub
> ----
>





Jacky
Le #18024731
Re...
Cachotier, a aucun moment tu ne mentionnes que tes onglets sont
cachés.;o))))
Ben non, ce n'est pas With qui autorise l'écriture sur les feuilles cachées
Mais c'est la méthode select qui demande que les feuilles soient visibles.
On aurait pu écrire
'--------------
Sheets("20_23") .Range("H9:I40,J42").ClearContents
Sheets("20_23") .Range("A4") = "NA"
'-----------
Sans problème
--
Salutations
JJ


"Sunburn" news:
oui, ça fonctionne mieux comme cela.
Donc a priori, avec "with", il n'y a pas besoin que les onglets soit
visibles ?
Merci, ça va me simplifier mes codes.
YANN

"Jacky" a écrit :

Bonsoir,

A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
ci-dessous ne fonctionne pas.
Ceci fait la même chose sans les sélections INUTILES
'--------------
Sub FTS20()
With Sheets("20_23")
'onglet 20_23
.Range("H9:I40,J42").ClearContents
'on met la valeur NA en A4
.Range("A4") = "NA"
End With
End Sub

'-----------

--
Salutations
JJ


"Sunburn" news:
> Bonjour,
> par macro, je voudrais supprimer des données spécifiques de mon
> classeur,
> onglet par onglet.
> mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
> voilà ce que j'ai, MERCI de votre aide :
> ---
> Sub FTS20()
> 'onglet 20_23
> Sheets("20_23").Select
> 'effacement
> Range("H9:I40,J42").Select
> Selection.ClearContents
> 'on met la valeur NA en A4
> Range("A4") = "NA"
> End Sub
> ----
>







Sunburn
Le #18025121
Ok, oui ta solution me va bien, c'est plus simple.
mais comment puis-je simplifier cela ?? :
merci.
yann
-----
'onglet 10_71
Sheets("10_71").Select
'deplacement
Range("K9:K33").Select
Selection.Copy
Range("H9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
'deplacement
Range("F38:F62").Select
Selection.Copy
Range("C38").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
'effacemen
Sheets("10_71").Range("I9:I33,K9:K33,O9:P33,T9:U33,J38:K62,O38:O62").ClearContents
Sheets("10_71").Range("A4") = "NA" 'on met la valeur NA en A4
-----


"Jacky" a écrit :

Re...
Cachotier, a aucun moment tu ne mentionnes que tes onglets sont
cachés.;o))))
Ben non, ce n'est pas With qui autorise l'écriture sur les feuilles cachées
Mais c'est la méthode select qui demande que les feuilles soient visibles.
On aurait pu écrire
'--------------
Sheets("20_23") .Range("H9:I40,J42").ClearContents
Sheets("20_23") .Range("A4") = "NA"
'-----------
Sans problème
--
Salutations
JJ


"Sunburn" news:
> oui, ça fonctionne mieux comme cela.
> Donc a priori, avec "with", il n'y a pas besoin que les onglets soit
> visibles ?
> Merci, ça va me simplifier mes codes.
> YANN
>
> "Jacky" a écrit :
>
>> Bonsoir,
>>
>> A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
>> ci-dessous ne fonctionne pas.
>> Ceci fait la même chose sans les sélections INUTILES
>> '--------------
>> Sub FTS20()
>> With Sheets("20_23")
>> 'onglet 20_23
>> .Range("H9:I40,J42").ClearContents
>> 'on met la valeur NA en A4
>> .Range("A4") = "NA"
>> End With
>> End Sub
>>
>> '-----------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Sunburn" >> news:
>> > Bonjour,
>> > par macro, je voudrais supprimer des données spécifiques de mon
>> > classeur,
>> > onglet par onglet.
>> > mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
>> > voilà ce que j'ai, MERCI de votre aide :
>> > ---
>> > Sub FTS20()
>> > 'onglet 20_23
>> > Sheets("20_23").Select
>> > 'effacement
>> > Range("H9:I40,J42").Select
>> > Selection.ClearContents
>> > 'on met la valeur NA en A4
>> > Range("A4") = "NA"
>> > End Sub
>> > ----
>> >
>>
>>
>>





Jacky
Le #18025111
Re...
Ton code un simplifié
'--------------
Sub FTS30()
'onglet 30_31
With Sheets("30_31")
'deplacement
.[H10:H29].Copy
.[F10].PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.[E10:E29,H10:H29].ClearContents 'effacement
.[A4] = "NA" 'on met la valeur NA en A4
End With
End Sub
'------------------
--
Salutations
JJ


"Sunburn" news:
jacky, lorsque j'ai des déplacements d'info, ça peut aussi marcher avec
"with" ??
Merci à toi, YANN
----
Sub FTS30()
'onglet 30_31
Sheets("30_31").Select
'deplacement
Range("H10:H29").Select
Selection.Copy
Range("F10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
Application.CutCopyMode = False
'effacement
Range("E10:E29,H10:H29").Select
Selection.ClearContents
'on met la valeur NA en A4
Range("A4") = "NA"
-----

"Jacky" a écrit :

Bonsoir,

A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
ci-dessous ne fonctionne pas.
Ceci fait la même chose sans les sélections INUTILES
'--------------
Sub FTS20()
With Sheets("20_23")
'onglet 20_23
.Range("H9:I40,J42").ClearContents
'on met la valeur NA en A4
.Range("A4") = "NA"
End With
End Sub

'-----------

--
Salutations
JJ


"Sunburn" news:
> Bonjour,
> par macro, je voudrais supprimer des données spécifiques de mon
> classeur,
> onglet par onglet.
> mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
> voilà ce que j'ai, MERCI de votre aide :
> ---
> Sub FTS20()
> 'onglet 20_23
> Sheets("20_23").Select
> 'effacement
> Range("H9:I40,J42").Select
> Selection.ClearContents
> 'on met la valeur NA en A4
> Range("A4") = "NA"
> End Sub
> ----
>







Jacky
Le #18025671
Il faut toujours essayer de supprimer les "Select" , qui dans ce code sont
tout à fait inutile
'-------------------------

Sub jj()
'ceci**********************************
'Sheets("10_71").Select
'deplacement
'Range("K9:K33").Select
'Selection.Copy
'Devient******************************
With Sheets("10_71")
.[k9:k33].Copy ' note le point devant l'instruction
'ceci***********************************************************
'Range("H9").Select
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
'SkipBlanks _
:úlse, Transpose:úlse
'Devient cela**************************************************
.[h9].PasteSpecial Paste:=xlPasteValues
'Application.CutCopyMode = False 'on supprime
'Et encore cela*********************
'Range("F38:F62").Select
' Selection.Copy
'Pour ceci***************************
.[F38:F62].Copy
'et on continue avec ceci*****
'Range("C38").Select
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
'SkipBlanks _
:úlse, Transpose:úlse
'pour cela***********************
.[c38].PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False 'on ne touche pas
'effacement
.Range("I9:I33,K9:K33,O9:P33,T9:U33,J38:K62,O38:O62").ClearContents 'on
laisse
.Range("A4") = "NA" 'on met la valeur NA en A4 ***on laisse
End With
' Il faut bien faire attention au point devant les instructions qui signifie
'que l'instruction qui suit concerne la feuille dont le nom est dans le With
du
'départ.(Ici 10_71)

'-------------------------

--
Salutations
JJ


"Sunburn" news:
Ok, oui ta solution me va bien, c'est plus simple.
mais comment puis-je simplifier cela ?? :
merci.
yann
-----
'onglet 10_71
Sheets("10_71").Select
'deplacement
Range("K9:K33").Select
Selection.Copy
Range("H9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
Application.CutCopyMode = False
'deplacement
Range("F38:F62").Select
Selection.Copy
Range("C38").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
_
:úlse, Transpose:úlse
Application.CutCopyMode = False
'effacement
Sheets("10_71").Range("I9:I33,K9:K33,O9:P33,T9:U33,J38:K62,O38:O62").ClearContents
Sheets("10_71").Range("A4") = "NA" 'on met la valeur NA en A4
-----



Sunburn
Le #18030211
Merci Jacky, c'est impecable, ça me simplifie mon code, ça sera sûrement plus
rapide à l'execution.
Merci.
YANN

"Jacky" a écrit :

Re...
Ton code un simplifié
'--------------
Sub FTS30()
'onglet 30_31
With Sheets("30_31")
'deplacement
.[H10:H29].Copy
.[F10].PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.[E10:E29,H10:H29].ClearContents 'effacement
.[A4] = "NA" 'on met la valeur NA en A4
End With
End Sub
'------------------
--
Salutations
JJ


"Sunburn" news:
> jacky, lorsque j'ai des déplacements d'info, ça peut aussi marcher avec
> "with" ??
> Merci à toi, YANN
> ----
> Sub FTS30()
> 'onglet 30_31
> Sheets("30_31").Select
> 'deplacement
> Range("H10:H29").Select
> Selection.Copy
> Range("F10").Select
> Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
> _
> :úlse, Transpose:úlse
> Application.CutCopyMode = False
> 'effacement
> Range("E10:E29,H10:H29").Select
> Selection.ClearContents
> 'on met la valeur NA en A4
> Range("A4") = "NA"
> -----
>
> "Jacky" a écrit :
>
>> Bonsoir,
>>
>> A priori, il n'y a pas de raison que cette macro telle qu'elle est écrite
>> ci-dessous ne fonctionne pas.
>> Ceci fait la même chose sans les sélections INUTILES
>> '--------------
>> Sub FTS20()
>> With Sheets("20_23")
>> 'onglet 20_23
>> .Range("H9:I40,J42").ClearContents
>> 'on met la valeur NA en A4
>> .Range("A4") = "NA"
>> End With
>> End Sub
>>
>> '-----------
>>
>> --
>> Salutations
>> JJ
>>
>>
>> "Sunburn" >> news:
>> > Bonjour,
>> > par macro, je voudrais supprimer des données spécifiques de mon
>> > classeur,
>> > onglet par onglet.
>> > mais ce que j'ai construit plante, et je ne comprend pas pourquoi ?
>> > voilà ce que j'ai, MERCI de votre aide :
>> > ---
>> > Sub FTS20()
>> > 'onglet 20_23
>> > Sheets("20_23").Select
>> > 'effacement
>> > Range("H9:I40,J42").Select
>> > Selection.ClearContents
>> > 'on met la valeur NA en A4
>> > Range("A4") = "NA"
>> > End Sub
>> > ----
>> >
>>
>>
>>





Sunburn
Le #18031291
Re,
encore moi Jacky
au fait, si je veux appliquer les meme choses à plusieurs onglets, je peux
mettre :
With Sheets("30_31";"30_41")
par exemple ??
Merci.
Yann

"Jacky" a écrit :

Re...
Ton code un simplifié
'--------------
Sub FTS30()
'onglet 30_31
With Sheets("30_31")
'deplacement
.[H10:H29].Copy
.[F10].PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.[E10:E29,H10:H29].ClearContents 'effacement
.[A4] = "NA" 'on met la valeur NA en A4
End With
End Sub
'------------------
--
Salutations
JJ


Publicité
Poster une réponse
Anonyme