Ajouter une valeur sur seulement 10% des cellules d'une colonne

Seraphin21 Messages postés 5 Statut Membre -  
 françois -
Bonjour,

J'aimerais savoir s'il existe une formule permettant d'ajouter une valeur texte "sondage" sur seulement 10% de ma colonne G?

J'ai regardé plusieurs solutions mais aucune ne fonctionne, si quelqu'un peu m'aider je suis preneur :)

Merci pour votre aide

6 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    vu le grand nombre de conditions imposées :
    =SI(ALEA()<0.1;"sondage";"") 

    à tirer sur la colonne
    eric
    0
  2. françois
     
    Bonjour Seraphin21,

    Fichier Excel 2007 : https://mon-partage.fr/f/eqeGdEqC/

    Fais Ctrl e autant de fois que tu veux => x en colonne G
    Alt F11 pour voir ta macro.

    J'ai choisi x plutôt que sondage pour éviter de surcharger l'écran :
    je trouve que c'est plus lisible, mais si vraiment tu préfères voir
    "sondage" à chaque fois, tu peux facilement adapter la macro :
    il te suffit de changer "x" dans la ligne qui précède Loop.

    Merci de me dire si ça te convient.
     
    0
    1. Seraphin21 Messages postés 5 Statut Membre
       
      Bonjour François,

      Je te remercie pour ton aide mais je n'arrive pas à ouvrir le fichier sur ton partage. Est il possible que tu m'envoie la formule ou que tu joint le fichier à la conversation s'il te plait :)
      0
      1. fran&ccedil;ois > Seraphin21 Messages postés 5 Statut Membre
         
         
        Fichier Excel 2007 *.xlsm
        sur mon-partage : https://mon-partage.fr/f/nRlA8iVD/
        sur cjoint : http://www.cjoint.com/c/GGdmjUAJMby

        Si ça ne marche toujours pas, lire la suite.

        Feuil1

        G1 : Sondage ; centré, sur fond brun
        G2 à G21 : cellules vides ; centré, sur fond vert clair

        G1 : bordure bas ; G1:G21 : bordure contour
        G2:G21 : bordure milieu en trait fin

        Selon l'exemple que j'ai choisi :

        La plage G2:G21 fait 20 lignes, donc il y a 20 données ;
        10 % de la colonne G = 10 % 20 = 2 cellules, choisies
        au hasard, qui vont contenir "x" via Ctrl e.

        Code VBA

        
        Option Explicit
        
        Sub Essai()
          Application.ScreenUpdating = False
          Dim lig1 As Long, lig2 As Long, nb1 As Long
          Dim nb2 As Long, p As Long, i As Long
          ' lig1 = 1ère ligne ; lig2 = dernière ligne (à adapter)
          lig1 = 2: lig2 = 21: nb1 = lig2 - lig1 + 1
          Range(Cells(lig1, 7), Cells(lig2, 7)).ClearContents
          ' nb2 = 10 % des emplacements de la colonne G ; mis dans
          ' une variable de type entier => arrondi => 1 de moins
          ' si le résultat est fractionnaire.
          Randomize: nb2 = nb1 * 0.1
          For i = 1 To nb2
            Do
              p = Int(20 * Rnd + lig1)
              If IsEmpty(Cells(p, 7)) Then Cells(p, 7) = "x": Exit Do
            Loop
          Next i
        End Sub
        
        

        Merci de me dire si ça te convient.
         
        0
  3. Raymond PENTIER Messages postés 58229 Date d'inscription   Statut Contributeur Dernière intervention   17 491
     
    Bonjour.

    Je n'ai pas compris la question.
    Et la façon dont eriiic et francois l'ont interprétée ne m'a pas convaincu que c'est bien ce que tu cherches à obtenir.
    Pourrais-tu fournir exemples et précisions ?
    0
  4. yclik Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   1 612
     
    Bonjour
    une proposition Ici
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous

    Un exemple
    http://www.cjoint.com/c/GGdmF7IvLpB

    Cdlmnt
    0
  7. françois
     
    Bonjour Seraphin21,

    J'ai répondu à ton message de 11:48 par mon message de 14:28.

    Tu verras 2 liens sur mon fichier Excel, l'un sur mon-partage.fr
    et l'autre sur cjoint.com ; mais c'est bien le même fichier.

    En dessous, j'ai mis le contenu de Feuil1 puis le code VBA.

    Cordialement
     
    0