Ajouter une valeur sur seulement 10% des cellules d'une colonne
Seraphin21
Messages postés
5
Statut
Membre
-
françois -
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
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
-
Bonjour,
vu le grand nombre de conditions imposées :=SI(ALEA()<0.1;"sondage";"")
à tirer sur la colonne
eric
-
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.
-
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 :)
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.
-
-
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 ?
-
Bonjour
une proposition Ici -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour à tous
Un exemple
http://www.cjoint.com/c/GGdmF7IvLpB
Cdlmnt -
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