je bute sur un petit problème et ai besoin de votre aide.
Voilà j'ai un tableau formé de 4 colonnes (a,b,c,d) contenant un nombre de
lignes supérieur à 5000 et variable suivant les extractions faites sur une
base de données.
Je voudrais dans ce tableau, sur ces quatres colonnes, parcourir toutes les
cellules et effacer la valeur des cellules qui ne sont pas égale à 2000, ou
2001,ou 2002,ou2003,ou2004,ou2005.
Est-il possible par une macro de résoudre ce problème.
Par la fonction "si" j'y arrive mais c'est très long et en plus j'aimerais
automatiser cette tâche.
merci d'avance de votre aide et de votre attention
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Ellimac
Bonjour,
Si tes cellules ne contiennent que des nombres : Fais un Edition Remplacer 2000 par z2000 puis 2001 par z2001... Ensuite tu sélectionnes tes 4 colonnes et F5/Cellules/Contantes et tu ne laisses que Nombre coché. Cela sélectionera tout sauf tes z2000, z2001... Là tu fais Suppr. Il ne reste plus que les z2000... Tu peux remplacer z par rien.
Camille
-----Message d'origine----- bonjour à tous,
je bute sur un petit problème et ai besoin de votre aide.
Voilà j'ai un tableau formé de 4 colonnes (a,b,c,d) contenant un nombre de
lignes supérieur à 5000 et variable suivant les extractions faites sur une
base de données. Je voudrais dans ce tableau, sur ces quatres colonnes, parcourir toutes les
cellules et effacer la valeur des cellules qui ne sont pas égale à 2000, ou
2001,ou 2002,ou2003,ou2004,ou2005.
Est-il possible par une macro de résoudre ce problème. Par la fonction "si" j'y arrive mais c'est très long et en plus j'aimerais
automatiser cette tâche.
merci d'avance de votre aide et de votre attention
Alain ROUSSEL
.
Bonjour,
Si tes cellules ne contiennent que des nombres :
Fais un Edition Remplacer 2000 par z2000 puis 2001 par
z2001...
Ensuite tu sélectionnes tes 4 colonnes et
F5/Cellules/Contantes et tu ne laisses que Nombre coché.
Cela sélectionera tout sauf tes z2000, z2001...
Là tu fais Suppr.
Il ne reste plus que les z2000...
Tu peux remplacer z par rien.
Camille
-----Message d'origine-----
bonjour à tous,
je bute sur un petit problème et ai besoin de votre aide.
Voilà j'ai un tableau formé de 4 colonnes (a,b,c,d)
contenant un nombre de
lignes supérieur à 5000 et variable suivant les
extractions faites sur une
base de données.
Je voudrais dans ce tableau, sur ces quatres colonnes,
parcourir toutes les
cellules et effacer la valeur des cellules qui ne sont
pas égale à 2000, ou
2001,ou 2002,ou2003,ou2004,ou2005.
Est-il possible par une macro de résoudre ce problème.
Par la fonction "si" j'y arrive mais c'est très long et
en plus j'aimerais
automatiser cette tâche.
merci d'avance de votre aide et de votre attention
Si tes cellules ne contiennent que des nombres : Fais un Edition Remplacer 2000 par z2000 puis 2001 par z2001... Ensuite tu sélectionnes tes 4 colonnes et F5/Cellules/Contantes et tu ne laisses que Nombre coché. Cela sélectionera tout sauf tes z2000, z2001... Là tu fais Suppr. Il ne reste plus que les z2000... Tu peux remplacer z par rien.
Camille
-----Message d'origine----- bonjour à tous,
je bute sur un petit problème et ai besoin de votre aide.
Voilà j'ai un tableau formé de 4 colonnes (a,b,c,d) contenant un nombre de
lignes supérieur à 5000 et variable suivant les extractions faites sur une
base de données. Je voudrais dans ce tableau, sur ces quatres colonnes, parcourir toutes les
cellules et effacer la valeur des cellules qui ne sont pas égale à 2000, ou
2001,ou 2002,ou2003,ou2004,ou2005.
Est-il possible par une macro de résoudre ce problème. Par la fonction "si" j'y arrive mais c'est très long et en plus j'aimerais
automatiser cette tâche.
merci d'avance de votre aide et de votre attention
Alain ROUSSEL
.
rdc
Merci Elimac mais n'y aurait t'il pas une petite macro qui me permettrait cela et surtout d'automatiser cette opération sans faire appel à des manipulations des utilisateurs
merci d'avance alain ROUSSEL
Merci Elimac mais n'y aurait t'il pas une petite macro qui me permettrait
cela et surtout d'automatiser cette opération sans faire appel à des
manipulations des utilisateurs
Merci Elimac mais n'y aurait t'il pas une petite macro qui me permettrait cela et surtout d'automatiser cette opération sans faire appel à des manipulations des utilisateurs
merci d'avance alain ROUSSEL
Philippe.R
Bonjour Alain,
A l'aide de l'enregistreur de macros et des indications de Camille, voici ce qu'on peut concocter comme code pour automatiser ça :
Sub repticement() 'MPFE Ph.R 20/09/2003 Dim ctn As Integer, ceLLs As Range Application.ScreenUpdating = False For Each ceLLs In UsedRange For ctn = 2000 To 2004 If ceLLs.Value = ctn Then ceLLs.Value = "z" & ceLLs.Value End If Next ctn Next ceLLs Columns("A:D").Select Selection.SpecialCells(xlCellTypeConstants, 1).Select Selection.ClearContents For Each ceLLs In UsedRange If Left(ceLLs.Value, 1) = "z" Then ceLLs.Value = Right(ceLLs.Value, 4) End If Next ceLLs Application.ScreenUpdating = True End Sub -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"rdc" a écrit dans le message de news:bkc944$ijb$
Merci Elimac mais n'y aurait t'il pas une petite macro qui me permettrait cela et surtout d'automatiser cette opération sans faire appel à des manipulations des utilisateurs
merci d'avance alain ROUSSEL
Bonjour Alain,
A l'aide de l'enregistreur de macros et des indications de Camille, voici ce qu'on peut concocter comme
code pour automatiser ça :
Sub repticement()
'MPFE Ph.R 20/09/2003
Dim ctn As Integer, ceLLs As Range
Application.ScreenUpdating = False
For Each ceLLs In UsedRange
For ctn = 2000 To 2004
If ceLLs.Value = ctn Then
ceLLs.Value = "z" & ceLLs.Value
End If
Next ctn
Next ceLLs
Columns("A:D").Select
Selection.SpecialCells(xlCellTypeConstants, 1).Select
Selection.ClearContents
For Each ceLLs In UsedRange
If Left(ceLLs.Value, 1) = "z" Then
ceLLs.Value = Right(ceLLs.Value, 4)
End If
Next ceLLs
Application.ScreenUpdating = True
End Sub
--
Amicales Salutations
A_S_rauphil@wanadoo.fr
Retirer A_S_ pour répondre.
XL97 / XL2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)
"rdc" <rdc.mno@wanadoo.fr> a écrit dans le message de news:bkc944$ijb$1@news-reader5.wanadoo.fr...
Merci Elimac mais n'y aurait t'il pas une petite macro qui me permettrait
cela et surtout d'automatiser cette opération sans faire appel à des
manipulations des utilisateurs
A l'aide de l'enregistreur de macros et des indications de Camille, voici ce qu'on peut concocter comme code pour automatiser ça :
Sub repticement() 'MPFE Ph.R 20/09/2003 Dim ctn As Integer, ceLLs As Range Application.ScreenUpdating = False For Each ceLLs In UsedRange For ctn = 2000 To 2004 If ceLLs.Value = ctn Then ceLLs.Value = "z" & ceLLs.Value End If Next ctn Next ceLLs Columns("A:D").Select Selection.SpecialCells(xlCellTypeConstants, 1).Select Selection.ClearContents For Each ceLLs In UsedRange If Left(ceLLs.Value, 1) = "z" Then ceLLs.Value = Right(ceLLs.Value, 4) End If Next ceLLs Application.ScreenUpdating = True End Sub -- Amicales Salutations
Retirer A_S_ pour répondre. XL97 / XL2002 Pour suivre le forum : news://msnews.microsoft.com/microsoft.public.fr.excel (Voulez-vous vous abonner ? -> Oui)
"rdc" a écrit dans le message de news:bkc944$ijb$
Merci Elimac mais n'y aurait t'il pas une petite macro qui me permettrait cela et surtout d'automatiser cette opération sans faire appel à des manipulations des utilisateurs