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 :

Définition d'une 1ère fin de colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut Définition d'une 1ère fin de colonne
    J'ai plusieurs partie, et je voudrais aller à la fin de la 1ère partie en terme de colonnes. (et le je sens bien que j'ai pas de VBA depuis 5-6 mois)

    Si je dis:
    For i= 6 to 300
    For j= 24 to35
    il ira bien de la ligne 6 à 300 et de la colonne 24 à 35 ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    re,
    tout dépend de comment tu parcours ton tableau
    Cells(i,j) n'est pas la même chose que Cells(j,i)...
    mais si tu utilises Cells(i,j) alors oui
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut
    Je finis un petit truc et je montre mon code. Admet que J est les colonnes sinon ça marchera pas

  4. #4
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut
    Voici mon code que j'ai pas testé, tu pourras me faire tes remarques d'ailleurs.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    '**ATTENTION CE FICHIER CALCUL UNIQUEMENT LES RESSOURCES POUR L ANNEE 2008 !!!**'
     
    'Macro pour RPAR'
     
    'Déclaration de variable
    Dim R0, R1, R2 As Integer
    Dim V1, V2, V3, i, j As Integer
    Dim D1, D2 As Integer
     
    premierelignefichier = 6
    AA = 8
     
    Dim MD As Range
    Set MD = Range("G6")
     
    Dim MC As Range
    Set MC = Range("I6")
     
    Dim MF As Range
    Set MF = Range("K6")
     
    Dim AD As Range
    Set AD = Range("H6")
     
    Dim AC As Range
    Set AC = Range("J6")
     
    Dim AF As Range
    Set AF = Range("L6")
     
     
    'Calcul de V2 si le CO a eu lieu l'année d'avant
    For i = 6 To 300
    For j = 24 To 35
     
    If AC < AA Then
    V1 = V2 = ""
    End If
     
    If AF > AA Then
    V3 = 12
    Else
    V3 = MF
    End If
     
    If AC > AA Then
    V1 = ""
    V2 = 12 = V3
    Else
    V2 = MC
    MsgBox ("Le CO a eu lieu dans l'année en cours")
    End If
     
    'Calcul de V1 et V3 pour un CO pendant l'année
    If AD < AA Then
    V1 = 0
    Else
    V1 = MD
    End If
     
    If AF > AA Then
    V3 = 12
    Else
    V3 = MF
    End If
     
    D1 = V2 - V1
    D2 = V3 - V2
     
    If V2 = "" Then
    R2 = R0 / D2
    End If
     
    If V3 = 1 Then
    AD = R2
    End If
     
    If V2 = 12 Then
    R1 = R0 / D1
    Range ("Y"), ("Z"), ("AA"), ("AB"), ("AC") = R1
    Else
    R1 = (R0 * 0.9) / D1
    Range ("Y"), ("Z"), ("AA"), ("AB"), ("AC") = R1
    R2 = (R0 * 0.1) / D2
    Range ("Y"), ("Z"), ("AA"), ("AB"), ("AC"), ("AD"), ("AE") = R2
     
    autreprojet = premierelignefichier + 1
     
    End Sub
    Voici le fichier sur lequel ça va etre mit:
    Fichiers attachés Fichiers attachés

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    alors déjà ajoute en première ligne ceci :
    et recode ce qu'il faut.:p
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut
    j'ai déclaré toutes mes variables, j'avais pas fais attention j'avais pas tout déclaré ça donne ça:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    Option Explicit
    Sub repartitionressources()
     
    'Macro pour RPAR'
     
    'Déclaration de variable
    Dim R3, premierelignefichier, AA As Integer
    Dim V1, V2, V3, i, j As Integer
    Dim D1, D2, R0 As Integer
     
    premierelignefichier = 6
    AA = 8
     
     
    'R0= Ressource en k€ pour l'année
    'R1= Ressource mensuelle pour le développement
    'R2= ressource mensuelle pour la fin de projet
    'D1= durée du projet réalisation en nb de mois
    'D2= durée de la partie accompagnant la fin du projet en mois
    'V1= variable de début
    'V2= variable de fin de réalisation
    'V3= variable de fin de projet
    'MD= mois début projet UPIT
    'MC= Mois du CO
    'MF= Mois fin projet
    'AA= année en cours
     
    Dim MD As Range
    Set MD = Range("G6")
     
    Dim MC As Range
    Set MC = Range("I6")
     
    Dim MF As Range
    Set MF = Range("K6")
     
    Dim AD As Range
    Set AD = Range("H6")
     
    Dim AC As Range
    Set AC = Range("J6")
     
    Dim AF As Range
    Set AF = Range("L6")
     
    Dim R1 As Range
    Set R1 = Range("W6")
     
    Dim R2 As Range
    Set R2 = Range("X6")
     
    'Calcul de V2 si le CO a eu lieu l'année d'avant
    For i = 6 To 300
    For j = 24 To 35
     
    If AC < AA Then
    V1 = V2 = ""
    End If
     
    If AF > AA Then
    V3 = 12
    Else
    V3 = MF
    End If
     
    If AC > AA Then
    V1 = ""
    V2 = 12 = V3
    Else
    V2 = MC
    MsgBox ("Le CO a eu lieu dans l'année en cours")
    End If
     
    'Calcul de V1 et V3 pour un CO pendant l'année
    If AD < AA Then
    V1 = 0
    Else
    V1 = MD
    End If
     
    If AF > AA Then
    V3 = 12
    Else
    V3 = MF
    End If
     
    D1 = V2 - V1
    D2 = V3 - V2
     
    If V2 = "" Then
    R2 = R0 / D2
    End If
     
    If V3 = 1 Then
    AD = R2
    End If
     
    If V2 = 12 Then
    R1 = R0 / D1
    Range ("Y"), ("Z"), ("AA"), ("AB"), ("AC") = R1
    Else
    R1 = (R0 * 0.9) / D1
    Range ("Y"), ("Z"), ("AA"), ("AB"), ("AC") = R1
    R2 = (R0 * 0.1) / D2
    Range ("Y"), ("Z"), ("AA"), ("AB"), ("AC"), ("AD"), ("AE") = R2
     
    autreprojet = premierelignefichier + 1
     
    End Sub

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/06/2013, 14h29
  2. [MFC] Classer une liste a plusieur colonne
    Par Kevgeii dans le forum MFC
    Réponses: 8
    Dernier message: 07/03/2005, 15h09
  3. glVertex et définition d'une forme géométrique
    Par Mastero dans le forum OpenGL
    Réponses: 1
    Dernier message: 06/12/2004, 12h44
  4. afficher la définition d'une fonction stockée
    Par bdkiller dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 03/09/2004, 13h28
  5. Sélectionner tous les id renvoyés par une 1ère requête
    Par Prof Vince dans le forum Requêtes
    Réponses: 5
    Dernier message: 29/11/2003, 19h46

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