Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2019
    Messages : 10
    Points : 5
    Points
    5

    Par défaut Remplissage auto mini maxi en Vba

    Salut, je pose mon problème : j'ai une feuille de calcul excel dont (B5 contient une liste de poids 100gr;250gr;500gr;1000gr) , (F4 contient une liste de produit (amande;pistache;noix;...)
    i5 = min pesée
    J5 = max pesée
    dans une deuxième feuille j'ai mis les valeurs min et max de chaque produit
    je veux que min et max dans I5 et J5 seront remplies automatiquement par ex : si B5= 100 gr et F4= pistache i5=B10<feuille2>
    un grand merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    septembre 2007
    Messages
    413
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 413
    Points : 642
    Points
    642

    Par défaut

    Bonjour,

    Je crois que tu devrais nous expliquer différemment ton problème car ce n'est pas clair.

    Dans une cellule tu n'as pas une liste par exemple...

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    12 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 12 057
    Points : 24 445
    Points
    24 445

    Par défaut

    Si dans ta liste est écris "100 gr", il sera très compliqué de faire des opérations arithmétiques (comme le calcul du min et du max).
    Il serait mieux de rentrer dans la colonne uniquement la valeur numérique et de faire apparaitre l'unité par le format de nombre (Personnalisé > Standard" gr").
    Ceci fait, une simple fonction MAX() ou MIN ferait l'affaire.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Membre chevronné Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    décembre 2013
    Messages
    1 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 314
    Points : 2 072
    Points
    2 072

    Par défaut

    Bonjour HAMMA, La forum
    une proposition si j'ai compris la demande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$F$4" Then Exit Sub
    Dim Tablo
    Dim i As Long
    Tablo = Sheets("Feuil2").Range("A2", "C" & Sheets("feuil2").Range("C" & Rows.Count).End(xlUp).Row)
    With Sheets("feuil1")
    For i = LBound(Tablo, 1) To UBound(Tablo, 1)
        If IsNumeric(Application.Match(CStr(Tablo(i, 1)), .Cells(4, 6), 0)) Then
            .Cells(5, "I") = Tablo(i, 2)
            .Cells(5, "J") = Tablo(i, 3)
        End If
    Next i
    End With
    End Sub
    Fichiers attachés Fichiers attachés
    Un peu d'aide nous fait grand bien, un second sert de soutien........BIEN A VOUS ("ABDOU LETUNISIEN")

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2019
    Messages : 10
    Points : 5
    Points
    5

    Par défaut merci

    est ce que je peux joindre mon fichier pour que tu m'aide?

  6. #6
    Membre chevronné Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    décembre 2013
    Messages
    1 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 314
    Points : 2 072
    Points
    2 072

    Par défaut

    avec quelques ligne de données...pas un grand fichier
    Un peu d'aide nous fait grand bien, un second sert de soutien........BIEN A VOUS ("ABDOU LETUNISIEN")

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2019
    Messages : 10
    Points : 5
    Points
    5

    Par défaut Bonjour Ben Nasr

    Désolé pour le retard j'ai pas eu les valeurs qu'aujourd'hui voila mon fichier, un grand merci d'avance :
    les valeurs en feuille 2
    Fichiers attachés Fichiers attachés

  8. #8
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    14 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 14 105
    Points : 21 152
    Points
    21 152
    Billets dans le blog
    5

    Par défaut re

    re
    en i5 je met
    =SI(Tableau4[[#Cette ligne];[Colonne2]]<>"";RECHERCHEV(Tableau4[[#Cette ligne];[Colonne2]];Feuil2!A1:C15;2);"")
    en j5 je met
    =SI(Tableau4[[#Cette ligne];[Colonne2]]<>"";RECHERCHEV(Tableau4[[#Cette ligne];[Colonne2]];Feuil2!A1:C15;3);"")
    formule a etirer sur toute les ligne jusqu"a la ligne que tu veux
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    mai 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 139
    Points : 188
    Points
    188

    Par défaut de l'intérêt des Tableaux (structurés)...

    Bonsoir,

    en créant le tableau Tb de titres de colonne Produit, Min, Max dans l'autre feuille (ou pas),
    les formules en colonne 1 et 2 du tableau des mimi et max à trouver seront
    =SI(To[@Colonne2]="";"";RECHERCHEV(To[@Colonne2];Tb;2))
    =SI(To[@Colonne2]="";"";RECHERCHEV(To[@Colonne2];Tb;3))
    nota :
    - le premier premier tableau ne se nomme plus Tableau4 mais To
    - le tableau Tb est trié selon les produits
    - avec le Tableau,les formules s'écrivent automatiquement en cas d'ajout de lignes, se corrigent en cas de suppression de lignes …
    - on peut, aussi, déplacer les tableaux sans avoir à modifier les formules.

  10. #10
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    14 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 14 105
    Points : 21 152
    Points
    21 152
    Billets dans le blog
    5

    Par défaut re

    re
    oui ordonc convertir la feuille 2 en tableau simplifie les formules le principe est le meme
    et en effet cela permet d'ajouter ou supprimer des ligne dans le tableau structuré de la feuille 2 et les precedents dans les formules suivront
    bien vu donc heu...ordonc
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    mai 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mai 2008
    Messages : 139
    Points : 188
    Points
    188

    Par défaut

    re,
    Citation Envoyé par patricktoulon Voir le message
    bien vu donc heu...ordonc
    et d'un seul oeil !
    Puisque VBA demandé, pour un traitement possible avec le tableau To remanié, le tableau MM des cellules ciblées et le tableau Tb des données (déplacé ou pas) :
    Un contrôle ActiveX ComboBox nommé Cb (largeur , hauteur et emplacement colonne définis à la création) et
    2 macros dans la fenêtre de codes de la feuille (Alt F11)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    'initialisation position,affichage  de la liste
    Private Sub Worksheet_SelectionChange(ByVal R As Range)
      If Not Intersect(R, [To].Columns(2)) Is Nothing And R.Count = 1 Then
         Cb.List = [Tb].Columns(1).Value     'initialisation de la liste
         Cb.Top = R.Top                      'au niveau de la cellule
         Cb.Visible = 1                      'affichée
      End If
    End Sub
    'sélection d'un item
    Private Sub Cb_Change()       
    Dim Lo As Long, C As Range
      Lo = ActiveCell.Row - [To].Row + 1 'ligne active du tableau To(pas de la feuille)  
      Set C = [Tb].Find(Cb, lookAt:=1)
     'traitement de la cellule source et des cellules cibles
      If MsgBox("inclure le choix ?", vbYesNo, "la cellule n'est pas vide...") = 6 Then
        'inclure le nom et les nombres
        ActiveCell = Cb: [MM].Item(Lo, 1) = C(1, 2): [MM].Item(Lo, 2) = C(1, 3)
      Else
        'garder ou vider la cellule source et les cellules correspondantes
        If MsgBox("garder le contenu ?", vbYesNo, "Cellule non vide...") = 7 Then
          'vider pour oui
          ActiveCell = "": [MM].Item(Lo, 1) = "":  [MM].Item(Lo, 2) = ""
        End If
      End If
      Cb.Visible = 0
    End Sub
    Fichiers attachés Fichiers attachés

  12. #12
    Membre chevronné Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    décembre 2013
    Messages
    1 314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 314
    Points : 2 072
    Points
    2 072

    Par défaut

    bonjour
    je recommande de bien lire les propositions de Patrick et OrDonc (Bon travail m'a permis d'apprendre bq de chose merci )
    Ma proposition qualifiée de DEBUTANT "E"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$B$5" Then Exit Sub
    Dim Plage As Range
    With Sheets("feuil2")
    Set Plage = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
    End With
    C = WorksheetFunction.CountIf(Plage, Cells(5, 2))
    If C = 0 Then
    MsgBox ("Article choisi n'existe pas dans la liste des Min & Max ")
    Cells(5, "I") = ""
    Cells(5, "J") = ""
    Else
    Dim i As Long
    Tablo = Sheets("Feuil2").Range("A2", "C" & Sheets("feuil2").Range("C" & Rows.Count).End(xlUp).Row)
    With Sheets("feuil1")
    For i = LBound(Tablo, 1) To UBound(Tablo, 1)
        If IsNumeric(Application.Match(CStr(Tablo(i, 1)), .Cells(5, 2), 0)) Then
            .Cells(5, "I") = Tablo(i, 2)
            .Cells(5, "J") = Tablo(i, 3)
        End If
    Next i
    End With
    End If
    End Sub
    Fichiers attachés Fichiers attachés
    Un peu d'aide nous fait grand bien, un second sert de soutien........BIEN A VOUS ("ABDOU LETUNISIEN")

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2019
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2019
    Messages : 10
    Points : 5
    Points
    5

    Par défaut merci pour vos réponse

    merci infiniment, une autre question svp :
    je voulais que les cellules de B9 - K14 seront diminuer automatiquement de 100
    ex si B9 = 500 elle n'affiche que 400

    pour être clair je travaille avec une balance et je dois tarer les valeurs avec excel
    valeur - poids de l'emballage = valeur exacte du contenu

  14. #14
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    14 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 14 105
    Points : 21 152
    Points
    21 152
    Billets dans le blog
    5

    Par défaut re

    re
    Bonjour
    on t'a donné une solution ; mais on va pas faire tout ton travail il sagirait d'aller chercher des tutos ou faq et d'apprendre c'est toi l'etudiant
    tu pourrais au moins essayer de faire ta formule a la main en enregistrant la macro et regarder ce que donne la formule dans le code ou meme dans la cellule
    tu en apprendrais beaucoup
    montre nous un peu plus d'effort et on t'aidera
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Probleme avec vba
    Par Rémick25 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/12/2010, 12h14
  2. probleme avec vba
    Par David1259 dans le forum VBA Access
    Réponses: 5
    Dernier message: 03/01/2009, 11h50
  3. [VBA WORD] Probleme avec un .dot
    Par jagdjg dans le forum VBA Word
    Réponses: 6
    Dernier message: 18/01/2006, 12h07
  4. Probleme avec FtpGetFileSize en VBA
    Par marot_r dans le forum Contribuez
    Réponses: 2
    Dernier message: 12/12/2005, 17h06
  5. [VBA-E] problème avec le sendkeys
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2005, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo