Formule dans excel
Résoluvia55 Messages postés 14730 Date d'inscription Statut Membre Dernière intervention -
J'ai crée dans mon tableau une colonne qui me valide mon affichage de frais par un V, sur celle d’a coté par un D je renvoi la somme sur le mois d’après (payement différé) mais il faut que le V s'annule pour ne pas avoir le montant dans le mois courant.
Je suis bon jusqu’à la ligne 350 mais après impossible de continuer. Je suis pret à joindre mon fichier, Merci pour votre future aide.
- Formule dans excel
- Formule excel si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Liste déroulante excel - Guide
- Formule somme excel ligne - Guide
- Mise en forme conditionnelle excel formule - Guide
114 réponses
Le problème concerne un suivi de frais annuel où une colonne V valide l’affichage des frais et une colonne adjacente renvoie le montant au mois suivant avec un D, et le V doit s’annuler pour le mois courant, mais la macro bloque après la ligne 350. La boucle For semble viser des lignes KIKO régulièrement espacées (38, 74, 110, etc.) en pas de 36, et si cet espacement n’est pas exact, l’exécution peut échouer; une solution proposée est de remplacer la boucle par 12 instructions Range fixes correspondant aux 12 mois. D’autres pistes consistent à ajouter une validation de données pour restreindre les choix à V, D ou vide et à envisager une macro associée au verrouillage des plages pour protéger la feuille, avec indication des plages verrouillées. Enfin, il est suggéré d’utiliser un tableau de codage pour les désignations et une RECHERCHEV afin de simplifier les formules et rendre les plages nommées dynamiques.
Bien ☺
Pour répondre à ta question, retraité de l'enseignement (collège-lycée)
Cet anglais qui est presque du chinois pour toi, on arrive assez vite à se mettre dedans, par exemple :
Range(plage3).Locked = True signifie "le critère Verrouillé (Locked) de la plage de nom plage3 est mis à Vrai (True)"
Que veux tu dire par "Pour le principe des lignes cela reste possible avant de me lancer" ?
https://www.cjoint.com/c/LBzoRI5yN0W
J'ai rajouté pour contrôle un message au verrouillage qui indique quelles plages ont été verrouillées et qui induit qu'elles ont bien été verrouillées, tu pourras ensuite supprimer cette instruction dans la macro :
MsgBox plage1 & " et " & plage2 & " verrouillées"
SI les Cases font bien référence aux bonne lignes des KIKO et que les plages définies dans les cases sont correctes c'est bon la macro verrouille les bonnes cellules et protège la feuille, pas moyen d'accéder au cellules avec Retour arrière (ou autre)
La boucle For va de 38 jusqu'à 431 par saut de 36 donc
1er passage 38 , 2nd passage 74, 3eme passage 110 etc ... qui doivent correspondre au n° des lignes où il a des KIKO, ces lignes étant régulièrement espacées de 36 (si ce n'est pas le cas c'est peut être là que vient l'erreur)
Ensuite l'instruction .Range("A" & n)="KIKO" inscrit KIKO dans la cellule de la colonne A, en A38 au 1er passage, en A74 au 2nd etc
mais bon tu peux supprimer toutes les lignes de la macro concernant la boucle (depuis For jusqu'à Next) et les remplacer par 12 instructions Range avec les adresses des 12 KIKO mensuels
.Range("A3")="KIKO"
.Range("A38") = "KiKO"
etc
Je te rappelle que cette macro qui se déclenche à la fermeture du classeur a pour but de bloquer tout avant fermeture
Si ce à quoi tu es arrivé te convient c'est parfait
Bonne suite
On passe le sujet en résolu
Cdlmnt
Via
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPourquoi 2 colonnes déjà ? La même colonne ne pourrait-elle contenir V ou D selon le cas ?
Le VBA est-il vraiment utile ?
Pour joindre un fichier tu le poste sur cjoint.com, tu fais créer un lien que tu copies et reviens coller ci
Clmnt
Via
Ma colonne en V valide le montant que j'ai rentré et il est compté dans le mois. La colonne en D diffère la valeur du montant au mois d'après (payement différé).
Il faut que si le V est actionné il puisse être supprimé par le D. Je n'ai pas essayé dans une même colonne mais pourquoi pas. Je vais le mètre disponible
https://www.cjoint.com/c/LBkpGJyzzoy
Pour colorer le V ou le D c'est faisable par mise en forme conditionnelle
Pour forcer l'entrée en majuscule c'est possible avec la Validation de données, par exemple pour une plage commençant en C8, sélectionner la plage - Données - Validation de données - Autoriser : Personnalisé et dans lFormule entrer : =EXACT(MAJUSCULE(C8);C8)
Possible aussi de mettre la plage en majuscules par VBA, voir tuto : https://www.youtube.com/watch?v=nhwqihGR4KA
Je fonctionne beaucoup avec des exemples
Merci, je suis vachement perdu
https://www.cjoint.com/c/LBkuq3Qkl4y
Regarde déjà si cela te convient :
https://www.cjoint.com/c/LBku52DGuPW
Il ne me manque plus à forcer excel à me donner en affichage lorsque je rentre une lettre en minuscule en Majuscule, je n'ai pas réussi ou bien formulé dans la mise en forme conditionnelle :
Si vous avez je suis preneur - Merci
Range("E4").Value = StrConv(Range("E4").Value, vbUpperCase)
Je vais si je ne trouve rien mettre une police plus adapté
Dans le fichier que j' t'ai envoyé en exemple pour obliger à entrer en majuscule dans la colonne G, sélectionner cette colonne puis Données - Validation de données et :
Sinon tu peux aussi mettre une liste déroulante dans toutes les cellules de la colonne avec en choix V, D (en majuscules) ou rien
Cdlmnt
Via
C'est Hyper Propre, encore Merci
Je vais essayer de trouver la possibilité de sélectionner par V mais sur l'ensemble de tous les jours. Seulement j'ai des lignes entre chaque mois et je ne sais pas formuler c'est vides.
Si cela vous intéresse je peux voir faire passer le fichier : fini les problèmes de suive de compte. Manque plus que la retraite augmente.
Cordialement, Christophe
Bien !
Que veux tu dire par "Je vais essayer de trouver la possibilité de sélectionner par V mais sur l'ensemble de tous les jours" ?
Selectionner pour ne laisser apparaitre que les lignes avec V ? Cela passe par un filtre du tableau pour masquer les autres lignes
Ne faire la somme que de lignes avec V ? cela passe par une formule SOMME.SI
Dans les deux cas peu importe les lignes vides, alors quel est le souci avec ces lignes vides ?
Cdlmnt
Via
C'est surtout pour un calcul sur plusieurs mois : pouvoir prendre en compte toutes les valeurs en V et surtout actionner leur sélection pour que la somme soit prise en compte (prévisionnel momentané pouvant être annulé rapidement .
Plus simple et concret : je joint mon fichier
https://www.cjoint.com/c/LBmt5PTv8Ay
En bas de chaque mois tu as par formule le total des valeurs en V, si tu veux les cumuler avec celles du mois suivant pour avoir un total des validés à un instant T il suffit de les ajouter quelque part au début (nouvelle colonne ?) comme tu ajoutes les différés et de sommer par ligne dans cette nouvelle colonne
ou alors je suis à côté de la plaque ??
Donne moi un exemple précis et chiffré que je puisse comprendre ☺
Mon tableau peut me servir comme prévisionnel en y insérant le crédit et débit régulier que l'on a chaque mois et cela peut être différent chaque mois .
Le but c'est admet-on, sur la case K432 pouvoir mettre une liste déroulante qui me sélectionne ou pas l'ensemble des colonnes en K qui elles déclenchent les opérations.
Je dois être bouché à l'émeri je ne comprends toujours pas à quoi tu veux arriver
Que comporterait ta liste déroulante ? le choix V D ?
"une liste déroulante qui me sélectionne ou pas l'ensemble des colonnes en K" Que veux tu dire par là, que par exemple si tu sélectionnes V, seules les lignes avec V seront visibles, les autres étant masquées (cela ça se fait par un filtre) ?