Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
inscription dans cellule à l'aide d'un code vba et condition celulle...
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Bonsoir Dame et Roi,
Ton fichier est juste????
1/ Lorsque ... il faut mettre "o" dans la colonne G. Toutes tes cellules ne sont pas vide, donc si je lis bien ton explication en B24:B25, je devrais donc voir dans la colonne G que des "o". Pourtant, le résultat que tu souhaites obtenir est autre!!!
2/ Ta condition B27:B28 est exactement la même que celle juste au dessus, pourtant il ne faut pas mettre "o" mais "N"!!!!!!
C'est pas très logique!!!!!
3/ Tu veux la même chose dans la colonne J? Toujours par rapport à la colonne A???? Alors pourquoi ne pas écrire par exemple en J6, la formule "=G6"???
4/ De plus, pourquoi vouloir passer par le VBA alors qu'une fonction toute simple pourrez très bien faire l'affaire?
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Bonsoir Excel lent et à tous🙂,
Oui mon fichier est correct. Je l'avais simplifier au maximum pour les explications.
La colonne a comprend une très longues listes de personnes (2000 ou plus par exemple)
Les colonnes G , J correspondent à des mois. Ils y en auras 2 fois 12 mois .
Ils doivent être indépendant des uns des autres mais ils doivent tous dépendre absoluemment de la colonne A non vide à partir de A6!
Il peut donc y avoir un "o" en g6 et un "n" en j6 ! etc...
Je souhaite que lorsqu'on clic sur les commandbuttonxx, on a le choix soit de TOUT mettre à "o" qui veut dire oui ou TOUT à "n" pour non ET CECI d'un seul coup pour toutes les cellules de la colonnes G (et ssi a6:a2000 <>"") et ceci AFIN D'EVITER DE LE FAIRE MANUELLEMENT SUR 2000 LIGNES OU PLUS...
Ensuite, je n'aurai juste qu'à selectionner les quelques personnes pour mettre "o" ou "n" manuellement.
Par exemple, en a6 la cellulle est non vide. Si je clic sur mettre "o" de la colonne G, je devrai avoir "o" pour g6, g7, g8, g9,g10,g11, g12 et c'est tout, car les autres cellules de la colonnes a sont vides! (a13 et +).
Si je clic sur mettre "n" de la colonne J, je devrai avoir "n" pour j6, j7, j8, j9,j10,j11, j12 et c'est tout, car les autres cellules de la colonnes a sont vides! (a13 et +).
Bien sur, je garde le format conditionnel (couleur vert et rouge).
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Bonsoir à tous
Je nomme
o_1 le bouton Mettre "o" pour la septième colonne. n_1 le bouton Mettre "n" pour la septième colonne. o_2 le bouton Mettre "o" pour la dixième colonne. n_2 le bouton Mettre "n" pour la dixième colonne.
Code à placer dans le module de code de la feuille "Feuil1" (celle qui porte les boutons) :
Code:
[COLOR="DarkSlateGray"]Private Sub o_1_Click()
tout_n_ou_o 7, "o"
End Sub
Private Sub o_2_Click()
tout_n_ou_o 10, "o"
End Sub
Private Sub n_1_Click()
tout_n_ou_o 7, "n"
End Sub
Private Sub n_2_Click()
tout_n_ou_o 10, "n"
End Sub[/COLOR]
Code à placer dans un module standard quelconque :
Code:
[COLOR="DarkSlateGray"]Sub tout_n_ou_o(col As Integer, lettre As String)
With ActiveSheet.Cells(6, 1)
Range(.Cells, .End(xlDown)).Offset(0, col - 1).Value = lettre
End With
End Sub[/COLOR]
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Re...
Bien vu ! Réduire le nombre des boutons allège le classeur.
Une remarque à l'attention de dame et roi : n'oubliez pas de modifier toutes les occurrences de
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Bonjour Roger2327 et Lii🙂,
Merci pour vos réponses. C'est génial. J'ai tardé un peu à vous répondre, car une idée mais venu et j'ai tenté de travaillé sur le fichier avant de me connecter sur le forum.
Pour éviter de surchargé le fichier de boutons (48 boutons au total car 2 boutons par colonnes sur 24 colonnes), j'ai pensé à créer une userform dans lequel on incluerai une combolist et dans laquelle on choisierai la colonne à tout mettre à o ou à n.
Cela est surement faisable. N'est-ce pas?
En tout cas je vous remercie encore pour vos travaux génial!!
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Suite...
Une autre proposition à base de boîtes d'entrée.
Pour ce faire, j'ai ajouté ce code à celui proposés hier dans le module Module1 :
Code:
[COLOR="DarkSlateGray"]Sub choix()
Dim colT As String, lettre As String, ctrlCol, oDat, i As Long, j As Long
ctrlCol = Array("G", 10) [COLOR="SeaGreen"]' Liste des colonnes autorisées.[/COLOR]
For i = 0 To UBound(ctrlCol)
If Not IsNumeric(ctrlCol(i)) Then ctrlCol(i) = colNum(CStr(ctrlCol(i)))
Next i
lettre = InputBox("Ecrivez le texte à insérer.", "Le texte...")
colT = InputBox("Choisissez la ou les colonnes à traiter" & vbLf & "(Liste séparée par des virgules)", "Les colonnes...", "Toutes")
If colT = "" Then Exit Sub Else oDat = Split(colT, ",")
If oDat(0) = "Toutes" Then oDat = ctrlCol
For i = 0 To UBound(oDat)
colT = Trim(oDat(i))
If Not IsNumeric(colT) Then colT = colNum(colT)
For j = 0 To UBound(ctrlCol)
If CLng(colT) = ctrlCol(j) Then tout_n_ou_o CLng(colT), lettre: Exit For
Next j
Next i
End Sub
Function colNum(col As String) As Long
Dim i As Long
For i = 1 To Len(col)
colNum = colNum * 26 + Asc(UCase(Mid$(col, i, 1))) - 64
Next i
End Function[/COLOR]
Pour l'exécuter, cliquez sur le bouton Initialise... (qui n'est d'ailleurs pas un bouton mais un simple champ de texte).
A la demande Le texte..., répondre par o ou n ou tout autre texte que l'on voudra. Si on laisse vide le champ de saisie, on videra les colonnes.
A la demande Les colonnes..., donner la liste des colonnes qu'on veut traiter sous forme d'une liste de valeurs séparées par une virgule.
Une colonne peut être désignée par son rang ou par son nom : les entrées
G,J
7,J
G,10
7,10
10,7
etc. sont équivalentes.
Si on laisse la valeur par défaut (Toutes) toutes les colonnes autorisées seront traitées en une passe.
Si on laisse vide le champ de saisie, la procédure est abandonnée.
Si on entre un nom ou un rang de colonne non autorisé, il sera ignoré.
La liste des colonnes autorisées est dans le code :
Elle peut être complétée par des noms ou des rangs de colonnes.
L'exécution est assez rapide, même avec quelques milliers de lignes.
Merci de me signaler les quelques bogues qui doivent encore subsister. (On ne saurait penser à tout...)
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
Bonsoir Roger2327 et Lii et à tous🙂,
Merci pour votre excellent travail de pro! génial. J'ai juste apporté une correction du fichier de Lii qui ne fonctionne pas pour la colonne 12 car j'ai du ajouter les formats conditionnels couleurs rouge, verts et rien pour la colonne 12. Sinon, tout fonctionne bien. Je joint le fichier corrigé.
Sinon, j'aimerai savoir s'il était possible d'affecter un "nom de colonne" à la place de mettre un numéro de colonne dans la combolist de la userform. Voir la feuille "mois".
Dans la colonne a , on a la liste des mois qu'il faudrait afficher dans la comboliste de la userform. Dans la colonne B de la même feuille ("mois"), on a les numéro des colonnes qu'ils faudrait prendre pour la feuille "feuil1".
En effet, il est plus facile de dire "mettre à o" pour tel mois pour éviter de compter les colonnes.
Je m'excuse encore de vous demander une modification. J'ai appris de nombreux codes grâce à vous et à d'autres personnes.
Merci par avance.
A bientôt pour y exceller,
amicalement,
Re : inscription dans cellule à l'aide d'un code vba et condition celulle...
re,
tout d'abord à Roger : merci pour cet excellent travail.
J'ai failli écrire "Good Job" mais, pour faire plaisir à certains (dont moi), je soigne ma rédaction et surtout je n'oublie pas la personne citée en 75 dans mes remerciements, pour la qualité de ses interventions sur ce forum.
Qui peut le plus peut le moins ! Moi qui reste au ras des pâquerettes, j'en redemande !
Dans le fichier joint la MFC est inutile comme dans le précédent (couleurs permutées).
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD