Cherche formule ou moyen de :
jh 15 ans
Messages postés
77
Statut
Membre
-
jh 15 ans Messages postés 77 Statut Membre -
jh 15 ans Messages postés 77 Statut Membre -
Bonjour,
Je cherche une formule pour effectuer l'opération suivante :
si dans la colonne M j'ai un 0 (zéro) de M2 à M450
remplacer les 4 de la ligne (A...:J...) par 1
Je vous remercie de votre aide.
Je cherche une formule pour effectuer l'opération suivante :
si dans la colonne M j'ai un 0 (zéro) de M2 à M450
remplacer les 4 de la ligne (A...:J...) par 1
Je vous remercie de votre aide.
20 réponses
-
Bonjour,
Je n'ai pas bien compris votre besoin...
J'ai l'impression qu'il suffi de faire un SI dans la colonne A en fonction des valeurs de la colonne M !
Bien cordialement,
-
Bonjour adrienKO,
Je te remercie de tenter de me venir en aide, mais voilà, en colonne M, le 0 n'est jamais à la même place ni non plus d'ailleurs le 4 en regard de l même ligne dans les colonnes A2:Jxxx pour remplacer ce par un 1.
Merci de me venir en aide. -
Bonjour
1. si dans la colonne M j'ai un 0 (zéro) de M2 à M450
-un 0 quelque part
-plusieurs zéros
-un 0 partout
2. remplacer les 4 de la ligne (A...:J...) par 1
-tous les 4 de la colonne A
-seulement le 4 qui est dans la même ligne que le 0 trouvé
-tous les 4 qui sont dans la même ligne que les 0 trouvés
-mêmes questions sur plusieurs colonnes
Le plus simple est de donner quelques exemples, voire de mettre ton fichier sur cjoint.com et de joindre le lien obtenu à ton prochain message.
cdlmt -
Salut,
Pas tout compris non plus, si il y a un 0 plage M2 à M450 il faut le remplacer par 4
si c'est cela, impossible sans VBA sauf si en M il y a une formule ce qui semble être le cas, ajouter une conditionnelle du type =si(ta formule =0;4;ta formule)
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour à vous tous et merci de votre aide
C'est pas facile d'expliquer ce qui parait évident pour moi, mais je vais essayer de nouveau :
en colonne M je peux avoir un 0 dans certaines cellules de cette colonne aléatoirement.
En regard de ces 0 et pour chaque ligne ou figure ce 0
Je veux remplacer le chiffre 4 qui se trouvent de façon aléatoire dans les colonnes A:J
Est-ce bien plus clair pour vous, vu que je ne peux pas mettre le classeur en lien.
En vous remerciant de votre patience et de vos connaissances. -
Les nombres 4 qui sont dans les colonnes A:J sont ils le résultat d'une formule?
si oui, on peut se passer de macro, sinon il n'y a qu'une macro pour faire ça -
re,
non les chiffres 4 ne proviennent pas de formule et une macro je ne connais pas. -
Re,
ah, je n'avais pas tout compris, donc colonne M s'il y a un 0 tu veux sur la même ligne mais colonne A à J mettre un 4
si c'est bien cela quelle formule as tu colonne A, B, C, D, E, F, D, H, I et J
si dans ces colonnes les formules sont identiques donne simplement celle en A
-
ah, je n'avais pas tout compris, donc colonne M s'il y a un 0 tu veux sur la même ligne mais colonne A à J mettre un 4
ce que je voudrai :
colonne M s'il y a un 0 tu veux sur la même ligne mais colonne A à J mettre un 1 à la place du 4 -
Dans ce cas, il n'y a qu'une macro
Il est clair que dans ce cas, les 4 des colonnes A:J auront définitivement disparu
Peux tu envoyer une partie de ton fichier au fomat excel 2003 sur cjoint.com et joindre le lien obtenu à ton prochain message -
-
-
re,
J'ai réussi à voir mais je ne comprends pas ce que ça veux dire.
Pourrais-tu me donner les explications qui me font cruellement défauts ?
En faisant Ctrl+s ça efface bien les 4 mais ça ne met pas 1 à la place.
En te remerciant et à te lire. -
zut, j'ai oublié le 1!
https://www.cjoint.com/?3ExsFKU2vER
Pour les explications
La procedure RAZ (activée par ctrl+r) est chargée de créer le tableau
remplit lA2:J20 avec un nombre aléatoire de 0 à 9 et M2:M20 avec un nombre aléatoire de 0 à 4
La procédure Efface4 (activée par ctrl+s) décrit les lignes de lideb à lifin
Si la ligne en cours colonne M on a 0 alors, on décrit les colonnes de 1 à 10 et si on trouve 4, on met 1
bonne suite -
La procédure Efface4 (activée par ctrl+s) décrit les lignes de lideb à lifin
Si la ligne en cours colonne M on a 0 alors, on décrit les colonnes de 1 à 10 et si on trouve 4, on met 1
Ca efface bien les chiffres 4 et met les cellules en jaune, mais n'écrit pas le chiffre 1 à la place du 4 -
Je viens de trouver, j'ai remplacé :
If .Cells(li, co) = 4 Then .Cells(li, co) = ""
par :
If .Cells(li, co) = 4 Then .Cells(li, co) = 1 -
Oui, mais c'est la première fois que je vois du code c'est pour çà que j'aurai aimé que tu me décrive ce que fait exactement ce code point par point afin que je comprenne, du moins que j'essaie.
En te remerciant. -
re, encore moi,
Que me faudrait-il modifier si je veux que le code ne fonctionne que de C9 à J19
Avec tous mes remerciements. -
Une version plus aisée à faire évoluer
' constantes à modifier selon ta configuration Const lideb = 9 ' ligne debut tableau Const lifin = 19 ' ligne fin tableau Const codeb = 3 ' colonne début tableau = C Const cofin = 10 ' colonne fin tableau = J Const coco = 13 ' colonne M Public Sub raz() Dim li As Long, co As Long Application.ScreenUpdating = False With ActiveSheet For li = lideb To lifin For co = codeb To cofin .Cells(li, co) = Int(Rnd * 10) Next co .Cells(li, coco).Value = Int(Rnd * 6) Next li End With Application.ScreenUpdating = True End Sub Public Sub Remplace4() Dim li As Long, co As Long Application.ScreenUpdating = False With ActiveSheet For li = lideb To lifin If .Cells(li, coco).Value = 0 Then For co = codeb To cofin If .Cells(li, co) = 4 Then .Cells(li, co) = 1 Next co End If Next li End With Application.ScreenUpdating = True End Sub
bonne soirée -
Je te remercie vivement ccm81, ceci étant mon tout premier code je m'empresse de décortiquer pour bien le comprendre.
Aurais-tu un bon bouquin à m'indiquer ?