Msg box et masquer cellules entre couleurs

Bonjour à tous,

J'ai crée 2 programmes, un me permettant de faire une msg box pour ajouter des quantités à mon tableau et l'autre de masquer les cellules entre deux cellules de couleur jaune, malheureusement étant pas un as du code vba dans mes 2 programmes je ne retrouve pas exactement ce que j'attends.

J'ai intégré une feuille d'explication ainsi qu'une feuille avec le résultat final attendu dans mon fichier excel si quelqu'un passe par là et aurait du temps pour m'aider à résoudre ces petits problèmes je suis preneur.

Merci d'avance et bonne journée !

25client-exemple.xlsm (37.21 Ko)

Bonjour,

Je relance si jamais quelqu'un a une idée, toujours pas d'avancement de mon côté.

Merci d'avance et bon week-end !

Bonjour

Point 1 : Hum... ce n'est pas très clair votre explication.
Si je prends l'exemple de 4, c'est 4 colonnes à partir de la colonne C que vous voulez ajoutez ?

Point 2 : remplacez votre code par celui ci-dessous (attention à bien respecter la couleur jaune)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim couleur As Long

If Target.Count > 1 Then Exit Sub

couleur = RGB(255, 255, 0)'jaune

If Not Intersect(Target, Rows(17)) Is Nothing Then
    If Target.Interior.Color = couleur Then
        i = 1
        Do
            If Target.Offset(0, i).Interior.Color = couleur Then Exit Do
            With Target.Offset(0, i).EntireColumn
                .Hidden = Not .Hidden
                i = i + 1
            End With
        Loop
    End If
End If
End Sub

NB : la couleur jaune est définie au départ dans la variable "Couleur".
Le code masque si la colonne est affichée et démasque si la colonne n'est pas affichée

Cordialement

Bonjour,

Merci pour votre réponse et votre macro qui fonctionne très bien, pour la partie 1 je comprends ne pas être très clair et j'en suis désolé, je souhaite garder la msg box associée au bouton "+", et justement utilisé les informations du nombre de quantités pour les ajouter au menu des cellules jaunes, je m'explique par exemple si j'indique dans mon bouton + que le nb de quantité souhaité est 3 avec comme quantité 1 : 4, quantité 2 : 6 et quantité 3 : 8, je souhaite que chaque quantité soit ajouté directement aux tableaux comme sur la photo ci-dessous.

image

J'espère avoir été plus compris, bonne journée à vous :)

je m'explique par exemple si j'indique dans mon bouton + que le nb de quantité souhaité est 3 avec comme quantité 1 : 4, quantité 2 : 6 et quantité 3 : 8, je souhaite que chaque quantité soit ajouté directement aux tableaux comme sur la photo ci-dessous.

Deux questions :
- dans votre fichier posté, feuille exemple étiré, --> Pourquoi ajoutez-vous 3 colonnes avec les quantités en D, E et F ?
- Est-il possible que vous ajoutiez des quantités en plusieurs fois. exemple : vous faites de que vous écrivez dans votre post puis vous décidez de rajouter encore des quantités

Ce qu'il faut comprendre:
- c'est s'il s'agit uniquement de modifier les quantités existantes ou en ajouter sur les existantes
- est-ce que le code doit ou peut supprimer ou ajouter des colonnes. Exemple dans votre vue ci-avant, vous avez 3 colonnes donc le code ne peut ajouter que 3 quantités max

Merci de répondre à chaque point

J'ajoute des quantités en d, e, f pour montrer que mes quantités choisie mais ces cellules ne sont pas importante si on peut mettre les quantités direct dans le tableau comme sur ma capture précédente.

Deuxième réponse je peux décider de rajouter des quantités si jamais oui donc je pourrais possiblement en ajouter sur les existantes, je ne sais pas si c'est possible.

Etant donné qu'il peut y avoir plus 3 quantités il doit être possible d'avoir autant de colonnes que de quantités, il n'y aura jamais 15 quantités mais il peut y en avoir 6 ou 7.

Merci pour votre temps, bonne fin de journée !

Pour faire au plus simple, je pense que vous devriez consacrer votre colonne C pour placer vos quantités en manuel

Le prérequis est que votre tableau soit formaté avec le nombre de colonne maximum que vous prévoyez (7 par exemple) et qui contiendra les quantités

Après deux solutions :

1. Sans VBA
- vous mettez vos quantités manuellement dans la colonne C
- Dans chaque colonne devant comporter une quantité, vous utilisez la formule Transpose.
Exemple : si vous dites avoir un maximum de 7 colonnes
a. Vous prévoyez 7 colonnes à droite de chaque mention Quantité en ligne 17
b. Vous sélectionnez les premières 7 colonnes et vous ajoutez cette formule --> =TRANSPOSE($C$19:$C$25)
c. vous validez la formule par CTRL + SHIFT + ENTREE

Ensuite vous refaites les 3 points ci-avant pour chaque plage de colonne qui devra comporter une quantité

Dans cette option, chaque fois que vous changerez la quantité entre C19 et C25, elle sera automatiquement placée en ligne 17.
Si vous voulez changer la quantité il vous suffit de modifier la cellule en question dans la colonne C

Cette solution est la plus simple et évite de se compliquer la vie avec VBA et vous laisse facilement d'effectuer une modification ultérieure

2. Avec VBA
- vous mettez vos quantités manuellement dans la colonne C
- on fait le code qui ajoute les quantités dans les 7 colonnes (si pas de quantité la colonne en ligne 17 reste vide

Solution plus complexe pour moi surtout si vous passez par des inputbox pour ajouter vos quantités car cela va vous faire autant d'Inputbox pour entrer les quantités qu'il y a de colonnes. Cela sans tenir compte des modifications de quantité éventuelle à ajouter ou retirer.
Là je resterais sur l'entrée manuel en colonne C pour les quantités

Edit : Voir aussi comment vous réinitialisez le tout...

Rechercher des sujets similaires à "msg box masquer entre couleurs"