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

Seraphin21 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 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
A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

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

à tirer sur la colonne
eric
0
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
Seraphin21 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
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
fran&ccedil;ois > Seraphin21 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
 
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
Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 
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
yclik Messages postés 3873 Date d'inscription   Statut Membre Dernière intervention   1 562
 
Bonjour
une proposition Ici
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour à tous

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

Cdlmnt
0
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