IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macros et VBA Excel Discussion :

Soustraction et incrémentation


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 5
    Par défaut Soustraction et incrémentation
    Bonjour à tous,
    je débute dans VBA et j'aurai besoin d'un peu d'aide
    je souhaite affecter à un bouton une macro qui puisse faire la chose suivante:
    - en colonne A, j'ai des références de produits qui commence en ligne 2
    - en colonne B, différentes valeurs
    - en colonne C, d'autres valeurs

    je voudrais, par exemple, si il y a 10 valeurs en colonne B et C (donc 10 réf différente), faire B2-B3 puis B2-B4 et ainsi de suite jusqu'à la dernière valeur de la colonne. L'étape suivante est de faire la même chose, toujous sur la colonne B mais en descendant d'une ligne, c'est à dire faire B3-B4 puis B3-B5...
    Je dois aussi faire le même genre de calcul sur la colonne C. Ceci marche très bien avec des conditions SI mais le nombre de références peut changer donc le nombre de soustractions possibles aussi.

    les dernières étapes sont les suivantes:
    - coller l'ensemble des résultats de la colonne B en colonne D
    - coller l'ensemble des résultats de la colonne C en colonne E
    - si par exemple, B2-B3<1000 et C2-C3<1 alors mettre 1 en colonne F, ....
    - si l'un des deux est > à 1000 ou 1 alors mettre 0 en colonne F

    j'espère que j'ai été assez clair.

    merci à vous pour votre aide

    nus

  2. #2
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Par défaut
    en fait ce que tu souhaites faire est assez facile et tu sembles capable de le faire
    Meme si j'avoue que je ne comprend pas ou tu veux mettre tes résultats de soustraction ... mais bon ca te regarde.

    En gros il te manque une notion mesurer le nombre de lignes remplies ?
    Eh bien il existe une fonction qui te permet de déterminer par exemple la dernière case non vide d'une colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("nom_de_ta_feuille").range("A65000").end(xlUp).row
    remplace dans range A par la colonne qui t'intéresse

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut vincenus33 et le forum
    - si l'un des deux est > à 1000 ou 1 alors mettre 0 en colonne F
    Si un nombre est supérieur à 1000, il est forcément supérieur à 1 donc, je pense que c'est mal expliqué, et ne l'ai donc pas traité.
    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
    Sub test()
    Dim X As Long, Y As Long, Z As Long
    Z = 2
    For X = 2 To Range("A" & Rows.Count).End(xlUp).Row - 1
        For Y = X + 1 To Range("A" & Rows.Count).End(xlUp).Row
            Range("D" & Z) = Range("B" & X) - Range("B" & Y)
            Range("E" & Z) = Range("C" & X) - Range("C" & Y)
            If Range("D" & Z) < 1000 And Range("E" & Z) < 1 Then
                Range("F" & Z) = 1
            Else
                Range("F" & Z) = 0
            End If
            Z = Z + 1
        Next Y
    Next X
    Z = 2
    End Sub
    A+

Discussions similaires

  1. Soustraction d'ensembles
    Par Guizz dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 05/05/2006, 12h37
  2. Incrémentation d'un champ de la table
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/09/2003, 20h33
  3. [débutant][xsl]incrémenter une variable
    Par guitalca dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/04/2003, 15h19
  4. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10
  5. Post incrémentation?
    Par Defrag dans le forum C
    Réponses: 4
    Dernier message: 08/10/2002, 10h36

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