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 :

Code Vba incluant les insertions de ligne dans le calcul


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Finlande

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Octobre 2015
    Messages : 3
    Par défaut Code Vba incluant les insertions de ligne dans le calcul
    Bonjour,

    Je suis un débutant dans le vba et je cherche une solution au code ci-dessous que j'ai développé avec un collègue.

    En effet le code prend en compte certaine ligne pour le calcul, ici: For i = 11 To 15.

    Et je cherche donc une solution pour que si j'insère une ligne dans mon tableau, le code la prenne en compte.
    Mon idée est que la ligne 11 devienne le départ et la ligne 15 (même si elle devient 17 par exemple à cause de l'insertion) soit la fin de la plage de calcul.

    est-ce possible???

    Merci d'avance pour vos réponses et votre temps.


    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
    Private Sub CommandButton1_Click()
    On Error GoTo errLigne
    Dim Colonne As String, Formule As String, i As Long, Cel As String
    
     ActiveSheet.Unprotect Password:=""
    
    Select Case Range("AA2")
    Case "Janvier"
    Colonne = "T"
    Case "Fevrier"
    Colonne = "U"
    Case "Mars"
    Colonne = "V"
    Case "Avril"
    Colonne = "W"
    Case "Mai"
    Colonne = "X"
    Case "Juin"
    Colonne = "Y"
    Case "Juillet"
    Colonne = "Z"
    Case "Septembre"
    Colonne = "P"
    Case "Octobre"
    Colonne = "Q"
    Case "Novembre"
    Colonne = "R"
    Case "Decembre"
    Colonne = "S"
    End Select
    
    
    For i = 11 To 15
    
    ' modification formule sur collone G
    Formule = "=(O" & i & "*" & Colonne & i & ")"
    Cel = "G" & i
    Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule
    
    ' modification formule sur collone I
    Formule = "=((M" & i & "*E" & i & ")/177)*" & Colonne & i
    Cel = "I" & i
    Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule
    
    ' modification formule sur collone J
    Formule = "=(F" & i & "/177)*" & Colonne & i
    '(F12/177)*P12
    Cel = "J" & i
    Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule
    
    ' modification formule sur collone K
    '((C12*H12)*P12)*M12
    Formule = "=((C" & i & "*H" & i & ")*" & Colonne & i & ")*M" & i
    Cel = "K" & i
    Worksheets("Le Taillan-Médoc Lot 15").Range(Cel) = Formule
    
    Next
    
     ActiveSheet.Protect Password:=""
    Exit Sub
    errLigne:
        MsgBox Err.Number & vbLf & Err.Description
    End Sub

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    bonjour,

    Oui c'est possible ! Pour cela il faut calculer la dernière ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Derlign = ThisWorkbook.Worksheets("Feuil1").UsedRange.Rows.Count
    Ceci te donne le N° de la dernière ligne qui contient une valeur

    A+

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,
    si tu insert à la ligne 11, la ligne 15 devient 16!
    si tu insert à la ligne 15 la ligne 11 reste la ligne 11!

    je commence mon traitement vers la fin et je recule vers le début!

  4. #4
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Finlande

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Octobre 2015
    Messages : 3
    Par défaut
    bon ben en bon noob......

    Déjà merci pour vos réponses...... mais...

    - la réponse de rdurupt ne fonctionne pas ou alors j'ai mal fait un truc mais bon.... mais la nouvelle ligne 16 (ancienne 15) ne se calcule pas
    - Et pour Igloobel, j'ai essayé mais il ne se passe rien de plus non plus. Je pense que si cela marche je ne l'insère pas au bon endroit.

    je vous met une image, peut-être cela peut-il vous aider...
    Le "calculer" en rouge est un bouton de commande selon le mois sélectionner à gauche. Le calcul se fait en fonction du chiffre dans les cases du mois correspondant.

    Nom : tableau excel.jpg
Affichages : 313
Taille : 282,8 Ko

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour,

    n° de la dernière ligne depuis la cellule A10 via les propriétés End(xlDown).Row (cf aide VBA) …



    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

  6. #6
    Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Finlande

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Octobre 2015
    Messages : 3
    Par défaut
    Merci Marc-L

    Mais je suis désolé cela ne me parle pas là. Je débute alors du coup pas encore d'automatisme. je ne comprends pas ce que j'insère ni ou dans le code....

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/06/2006, 15h45
  2. [VBA] Masquer les sélecteurs de ligne/colonnes (1,2..,A,B,C)
    Par skual dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/03/2006, 08h52
  3. Réponses: 2
    Dernier message: 03/11/2005, 11h49
  4. Rajouter les numéros de ligne dans une colone d'une requete
    Par AntiSAL dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/11/2005, 19h07
  5. Réponses: 4
    Dernier message: 13/10/2005, 14h44

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