Se connecter avec
S'enregistrer | Connectez-vous

Macro de recherche,selection et copier/coller la valeur

Dernière réponse : dans Programmation

Je suis un débutant en programmation.
J'essaye actuellement d'écrire une macro qui recherche des cellules dont les formules ont été remplacées par leur résultat.Une fois cette recherche effectuée ,la macro sélectionne les dites cellules et je souhaiterais qu'apres cela elle copie/colle la valeur de ces cellules dans les memes cellules sans que les formules n'apparaissent dans ces cellules.
jusque la voici ce que j'ai trouvé pour copier/coller la valeur:

  1. Sub Bouton1_Clic()
  2. '
  3. ' Bouton1_Clic Macro
  4. ' Sélectionner toutes les cellules dont les formules ont été remplacées par leur résultat
  5. '
  6. ' Touche de raccourci du clavier: Ctrl+a
  7. 'Range("" ).Select
  8. Selection.Copy
  9. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  10. :=False, Transpose:=False
  11. Application.CutCopyMode = False
  12. End Sub

merci de m'aider.

Lassé par la pub ? Créez un compte

zeb a dit :
Salut,

Je n'ai rien compris. Relis-toi et recommence ton explication.


Bonjour ,
voici l'explication.
Je cherche une macro capable de réaliser dans toutes les feuilles non masquées d'un classeur ,à partir de la feuille nommée :"00001" les opérations suivantes:

1)Rechercher les cellules qui sont au format conditionnel suivant:"texte rouge"
2)Sélectionner les lignes contenant ces cellules
3)Copier/coller (collage spécial - valeur)
4)Rechercher les cellules qui sont au format conditionnel suivant:"texte rouge" et les mettre à la couleur "automatique".

NB:Chaque feuille comporte un tableau dont les lignes (leurs cellules) contiennent des formules.
La 1ere ligne est renseignée quand un "formulaire"(facture,recu de versement...) est renseigné.
Pour que la 2eme ligne soit renseignée,il faut que les formules contenues dans les cellules de la 1ere ligne disparaissent en faissant copier/coller (collage spécial -valeur ).
Quand une ligne est renseignée,la 1ere cellule ou bien la 7eme cellule de la ligne est au format conditionnel suivant:"texte rouge".

Voici ce que j'ai pu trouver:

  1. Range("A18:I18").Select
  2. Selection.Copy
  3. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  4. :=False, Transpose:=False
  5. Application.CutCopyMode = False
  6. End Sub
  7.  
  8.  
  9. Macro permettant d'appliquer"collage spécial-valeur" aux cellules sélectionnées:
  10.  
  11. Sub Bouton1_Clic()
  12. '
  13. ' Bouton1_Clic Macro
  14. ' Sélectionner toutes les cellules dont les formules ont été remplacées par leur résultat
  15. '
  16. ' Touche de raccourci du clavier: Ctrl+a
  17. 'Range("").Select
  18. Selection.Copy
  19. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  20. :=False, Transpose:=False
  21. Application.CutCopyMode = False
  22. End Sub


Merci pour votre aide
Expert Programmation

Ouh, ben il y a du boulot...

Commençons par le début :
Citation :
1)Rechercher les cellules qui sont au format conditionnel suivant:"texte rouge"
Sais-tu comment repérer une cellule "en rouge" ? Je te propose de le découvrir par toi-même. Comment ? Et bien en mettant une cellule au format conditionnel "en rouge" tout en t'enregistrant avec l'enregistreur de macro. C'est vu ? Etudie le code obtenu.

Citation :
Sélectionner les lignes contenant ces cellules
M'enfin pourquoi les sélectionner. C'est une très mauvaise idée. Contentons-nous de les référencer par des variables. Si cell est une cellule, cell.EntireRow est la ligne concernée.

Citation :
Copier/coller (collage spécial - valeur)
Mais quelle horreur !!!
Va falloir trouver autre chose !!

Citation :
Rechercher les cellules qui sont au format conditionnel suivant:"texte rouge" et les mettre à la couleur "automatique".
Cf. 1°.
Lassé par la pub ? Créez un compte