Macro Excel

Résolu
Bonjour,

Je suis en train de coder une macro excel qui, selon une plage de cellule donnée, sélectionne les cellules non-vides et remplace le contenu par 1.

Voici le code :

Sub remplacer()
'
' remplacer Macro
' Macro enregistrée le 02/03/2009 par lacour.g
' On séléctionne la plage de cellules et on teste si elle sont vides
[C10:M230].SpecialCells(xlCellTypeConstants, 2).Select
For Each Cell In Selection
' On écrit dans la cellule non-vide
Selection.FormulaR1C1 = "1"
Next Cell
End Sub

Ce que je n'arrive pas a faire est de créer une boite de dialogue qui me permettrait de choisir une plage de données sans avoir a la définir a chaque fois dans la macro.
C'est a dire :
"cellule de départ" : xxx "cellule de fin" : yyy

ensuite la macro se déroulera dans la plage de données que j'ai rentré dans la boite de dialogue.
Je comprends que c'est une déclaration de variable mais je ne comprends pas tout.

Dites moi si vous avez besoin de plus d'infos.

Bonne journée a vous.
Configuration: Windows XP
Firefox 3.0.5

6 réponses

  1. Contributeur
    re:

    voici un exemple, tu peux meme selectionner ta plage avec ta souris
    Sub selplage()
        Dim c As Range
        Set c = Application.InputBox(Prompt:="Donnez la plage", Type:=8)
        c.Select
    End Sub
    
    1. Je te remercie beaucoup de ton aide, tout marche comme sur des roulettes. :)

      Bonne fin de journée a toi

      Cordialement,

      Whel
  2. Oui, j'ai ccleaner avec moi, dans l'onglet registre, et ensuite il faut faire la recherche des erreurs et les corriger, ensuite c'est tout. est ce c'est ca la procedure??
    1. Oui, j'ai ccleaner avec moi, dans l'onglet registre, et ensuite il faut faire la recherche des erreurs et les corriger, ensuite c'est tout. est ce c'est ca la procedure??
      1. Contributeur
        Bonjour

        tu n'es pas dans l'obligation de demander une boite de dialogue pour faire cela, si c'est tout ton tableau, tu peux le faire automatiquement :
        Range("C10").currentregion.cells.SpecialCells(xlCellTypeConstants, 2).value = 1
        1. Merci de ta réponse mais malheureusement je ne dois appliquer la macro que pour une certaine page de cellule et non tout le classeur, d'ou le [C10:M230]

          En fait, il faudrait que l'utilisateur puisse lui meme choisir sa plage de donnée sur un tableau qui change quasiement touts les jours. d'ou lidée d'une boite de dialogue avec des variables et c'est la que je seche.

          Je suis toujours dessus mais je ne trouve pas de pistes pour avancer :(