Effacer les croix dans une plage de données

Le
JP
Bonsoir,


J'ai dans une plage de données des 0 et des croix "X".
J'utilise ce code pour supprimer toutes les croix dans la plage de donnée=
s.

For Each c In Range("AA6:BD1006")
If c= "X" Then
c.ClearContents
End if
Next


Le temps de traitement est trop long.

Est-ce qu'il existe un moyen plus rapide?

Merci

JP
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #26095062
bonjour JP,

Range("AA6:BD1006").Replace What:="x", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse

isabelle

Le 2014-04-20 14:31, JP a écrit :
Bonsoir,


J'ai dans une plage de données des 0 et des croix "X".
J'utilise ce code pour supprimer toutes les croix dans la plage de données.

For Each c In Range("AA6:BD1006")
If c= "X" Then
c.ClearContents
End if
Next


Le temps de traitement est trop long.

Est-ce qu'il existe un moyen plus rapide?

Merci

JP

JP
Le #26095082
Bonsoir Isabelle,

Je n'ai qu'un mot: superbe.

Merci beaucoup

JP
JP
Le #26095152
Isabelle,

Puis-je abuser sur la question.
Est-ce que le code que tu viens de me proposer peut fonctionner pour les ce llules qui contiennent #N/A à la suite de la copie d'une plage de donné es?

JP
isabelle
Le #26095262
oui sans probleme,
et tu peut aussi enlever les #N/A de la même facon,

Range("AA6:BD1006").Replace What:="#N/A", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:úlse, SearchFormat:úlse, _
ReplaceFormat:úlse

isabelle

Le 2014-04-20 15:48, JP a écrit :
Isabelle,

Puis-je abuser sur la question.
Est-ce que le code que tu viens de me proposer peut fonctionner pour les cellules qui contiennent #N/A à la suite de la copie d'une plage de données?

JP

JP
Le #26095302
Dire que je ne connaissais pas cette fonction!


Je te remercie.

JP
JP
Le #26095542
Isabelle,

Du coup j'ai fait du ménage dans les macros.
Est-ce code peut être adapté pour supprimer toutes les valeurs numéri ques supérieures à 0?
J'ai fait une boucle for i en mettant i dans What:=i.

Ce n'est pas concluant!

Merci

JP
isabelle
Le #26095622
essai cette commande

Selection.SpecialCells(xlCellTypeConstants, 1).Select

isabelle

Le 2014-04-20 17:40, JP a écrit :
Isabelle,

Du coup j'ai fait du ménage dans les macros.
Est-ce code peut être adapté pour supprimer toutes les valeurs numériques supérieures à 0?
J'ai fait une boucle for i en mettant i dans What:=i.

Ce n'est pas concluant!

Merci

JP

isabelle
Le #26095732
oups ça sélectionne aussi les nombres négatif,
je pense que tu n'as pas le choix de faire une boucle pour ce cas.

pour la commande "remplace" regarde au menu, acceuil, édition, recherche et
sélectionner, remplacer.

isabelle

Le 2014-04-20 18:06, isabelle a écrit :
essai cette commande

Selection.SpecialCells(xlCellTypeConstants, 1).Select

isabelle

Le 2014-04-20 17:40, JP a écrit :
Isabelle,

Du coup j'ai fait du ménage dans les macros.
Est-ce code peut être adapté pour supprimer toutes les valeurs numériques
supérieures à 0?
J'ai fait une boucle for i en mettant i dans What:=i.

Ce n'est pas concluant!

Merci

JP

GL
Le #26095942
Le 20/04/2014 20:31, JP a écrit :
Bonsoir,


J'ai dans une plage de données des 0 et des croix "X".
J'utilise ce code pour supprimer toutes les croix dans la plage de données.

For Each c In Range("AA6:BD1006")
If c= "X" Then
c.ClearContents
End if
Next


Le temps de traitement est trop long.

Est-ce qu'il existe un moyen plus rapide?



A part la belle réponse d'Isabelle ;-)
il faut aussi penser à

Application.ScreenUpdating = False

quand on a une boucle longue. Souvent
ça accélère grandement la macro.

Ne pas oublier dans ce cas :

On Error Goto LabelError
...

LabelError:
Application.ScreenUpdating = True

Cordialement.
JP
Le #26096492
Oui, je remercie encore Isabelle. Mon programme s'en est trouvé transform é.
Les conseils ont été immédiatement rentabiisés.:-)

JP
Publicité
Poster une réponse
Anonyme