Problème après une insertion de ligne via macro

Fermé
Arki - 14 févr. 2022 à 14:57
 Arki - 15 févr. 2022 à 15:30
Bonjour,

J'ai un problème avec mon fichier excel : une partie calcul une somme sur une plage donnée disons entre A2 et A25.
J'ai créé un macro qui ajoute une ligne sur cette plage, donc la plage se transforme bien en A2:A26 mais la somme affiche #Valeur! et simplement en "recalculant" la case la bonne valeur s'affiche.

En insérant manuellement une ligne je n'ai pas ce souci.

Je ne comprends pas bien où se situe le souci, et je ne trouve pas de réponse similaire sur aucun forum.

En remerciant d'avance ceux qui pourraient m'aider.
A voir également:

6 réponses

ccm81 Messages postés 10893 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 septembre 2024 2 421
14 févr. 2022 à 15:05
Bonjour(

Bizarre !
Peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

Cdlmnt
0
Après quelques recherches dans les options je crois que j'ai finalement trouvé la solution, il faut aller dans "sécurité des macros" puis "activer toutes les macros".

Désolé du dérangement ^^', en espérant que ça pourrait en aider d'autres.
0
En fait l'erreur se reproduit de façon plutôt aléatoire, ça semble être dû aux cases vides qui ne seraient pas dans un bon format (quand la macro ajoute une valeur dans la nouvelle ligne, il n'y a plus de soucis).

Voici un fichier similaire : https://www.cjoint.com/c/LBphlebJQD6

La fonction sommecouleur somme les valeurs sur une plage donnée à la condition que la case soit de la couleur donnée.

Nouvelle entrée ajoute une ligne vide, l'idée étant in fine d'ajouter une ligne contenant quelques cases colorés avec des valeurs.

J'espère que tout est clair.


Une petite précision, après avoir un peu modifié les cases vides (copiées certaines et collées sur d'autres) l'erreur c'est modifié en erreur d'enregistrement au format wk1 (alors que rien n'est sous ce format). Les solutions apportées ne fonctionnent malheureusement pas.
0
ccm81 Messages postés 10893 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 septembre 2024 2 421
15 févr. 2022 à 11:01
Bonjour

Ton fichier ne contient pas de macro !
Je suppose que nouvelle entrée insère une nouvelle ligne avant la ligne "tampon"
cette ligne "tampon", doit elle être coloriée d'une couleur v3 ou v4 ?
Si c'est oui, les formules en ligne v3 et v4 doivent être modifiées par la macro
Sinon, c'est plus simple, il suffit de "prolonger" tes formules jusqu'à la ligne tampon
Sommecouleur(F7:F9;Couleur($C5))
devient
Sommecouleur(F7:F10;Couleur($C5))

Si le pb est ailleurs, renvoies le fichier avec un peu plus d'explications

Cdlmnt
0
Je sais pas pourquoi ça n'a pas inclus les macros ^^', il faut joindre un autre fichier ?
Prolonger jusqu'à la ligne tampon ne change rien malheureusement.
Voilà ce que j'ai dans nouvelle entrée :

Nouvelle entrée :

Sub test()
Dim x As Intégrer
x = Range("A1").Value
Rows(x).Insert
Cells(x,3) = "Test"
For i = 4 To 6
Cells(x,i).Interior.Colorindex = 6
Cells(x,i).Value = 5
Next
End Sub

La fin est juste pour montrer qu'en remplissant une case le problème se résout tout seul.

Le souci vient peut-être de sommecouleur (mais je pense pas):

Fonction Sommecouleur(data As Range, coul As Integer) As Integer
Sommecouleur=0
For Each c in data
If c.Interior.ColorIndex=coul Then
Sommecouleur = Sommecouleur + c.Value
End If
Next
End Function

J'espère que tout est clair, l'objectif est simplement de sommer les valeur dont la case est d'une certaine couleur. Et de pouvoir ajouter des lignes avec le bouton nouvelle entrée.
0

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

Posez votre question
ccm81 Messages postés 10893 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 29 septembre 2024 2 421
Modifié le 15 févr. 2022 à 15:26
Essaies ceci (clic sur Insere ligne)
https://www.cjoint.com/c/LBpoyQfSCXB

RQ. Attention à tes formules
=Sommecouleur(D7:D10;Couleur($C$5))

Cdlmnt
0
J'ai trouvé une solution en remplissant la nouvelle ligne avec des "" (donc rien), ça met tout à jour comme il faut.
Je vais regarder ton fichier, merci !

Par contre je ne comprends pas pourquoi tu veux que je mette $C$5, ce que ça change ?
(Qui plus est pour ajouter des couleurs c'est pas pratique pour étendre la formule ^^')
0