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 :

Automatisation mise en forme et calculs


Sujet :

Macros et VBA Excel

  1. #21
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    On va partir sur ta methode dans Excel pour l'adapter a VBA.
    Sur Excel, je fais une recherchev tout à droite, puis je trie la colonne et je déplace toutes les valeurs où il y a un J.

    Si vraiment on raisonne pareil, je dois placer cette manip avant de faire les sous-totaux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub RECHERCHEV()
        Range("P2").Select
        ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-14],SALJOUR!C[-15]:C[-13],3,FALSE)"
        Range("P2").Select
        Selection.AutoFill Destination:=Range("P2:P191")
    End Sub

  2. #22
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Ok, et cette solution VBA resout-elle ton probleme ? seulement partiellement ? non ?
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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. #23
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Ah ben non !
    J'essayais de commencer

    Peut-on rajouter une condition pour dire que si la rechercheV est vraie, déplacer la valeur de L à N ?
    Et ce, jusqu'à la dernière ligne active

  4. #24
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Tu peux rajouter une encapsulation de formule dans ta formule, avec =SI.ERREUR par exemple

    La recuperation de la derniere ligne dans une colonne t'es indique ici :
    http://excel.developpez.com/faq/?pag...reLigneNonVide
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  5. #25
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Ok mais ne peut-on pas tester chaque ligne sans pour autant écrire la formule dans la cellule ?
    C'est surtout le couper/coller si le test est vrai que je ne sais pas comment attaquer.

  6. #26
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    OK,

    pour le couper/coller, tu as la possibilite de voir le code avec l'enregistreur de macro.

    Si tu veux, tu peux bien sur ne rien faire avec des formules et tout faire directement en VBA, mais la demarche 1/ dans Excel 2/ dans VBA permet le plus souvent de comprendre le raisonnement et permet l'apprentissage du VBA par l'exemple =]
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  7. #27
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    pour le couper/coller, tu as la possibilite de voir le code avec l'enregistreur de macro.
    Ben justement, je trouve que ça ne fonctionne pas très bien et j'ai peur de casser la base.
    J'aimerais qu'on puisse vérifier la formule après avoir fait les sous totaux en plus.
    L'enregistreur ne sait pas "couper coller seulement si la condition est vraie", c'est pour ça que j'aimerais ne pas saisir de formule dans une cellule.

    Citation Envoyé par Jean-Philippe André Voir le message
    Si tu veux, tu peux bien sur ne rien faire avec des formules et tout faire directement en VBA, mais la demarche 1/ dans Excel 2/ dans VBA permet le plus souvent de comprendre le raisonnement et permet l'apprentissage du VBA par l'exemple =]
    Oui c'est sur que ça aide... Après je commence à arriver à reproduire certains petits codes, donc j'aimerais tout faire sans formules dans une cellule comme vous disiez précédemment.

    J'ai trouvé quelque chose qui s'apparente à ce que je veux faire, par contre n'est pas encore inclus la rechercheV (ou autre d'ailleurs !)
    J'ai aussi une erreur "incompatibilité de type" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Dim Ws As Worksheet
    Dim Derlig As Integer, R As Integer
     
    Set Ws = Sheets("MO1")
    Derlig = Ws.Cells(Ws.Columns(12).Cells.Count, 1).End(xlUp).Row
    For R = 2 To Derlig
       Ws.Cells(R + Ws.Cells(R, 12).Value, 1) = Ws.Cells(R, 1)
    Next R
    End Sub
    EDIT : et d'ailleurs, je ne vois plus où je dois indiquer la colonne 14

  8. #28
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    La plupart du temps, je cree un fichier bac a sable pour faire de l'enregistrement de macro

    La syntaxe de base est simple a trouver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("C1").Cut
        Range("F1").Select
        ActiveSheet.Paste
    A la place d'un couper coller, on peut faire un copier/coller + vidage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("C1").Copy Destination:=Range("F1")
    Range("C1").Clear
    voire meme une affectation comme tu avais commence a le faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("F1").value=Range("C1").Value
    Range("C1").Clear

    Pour la colonne 14, c'est le second parametre dans l'objet Cells().
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  9. #29
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Mais le copier/coller est plus compliqué puisque je souhaite déplacer seulement les valeurs pour lesquelles la rechercheV (ou autre) sur le matricule fonctionne :S
    C'est pour ça que j'avais commencé quelque chose qui doit vérifier la formule ou autre pour chaque ligne jusque la dernière.
    (sans vérifier les lignes totaux, du coup ça me fait dire qu'il faut inclure cette partie avant les sous totaux).

  10. #30
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Attention, chaque chose en son temps =]

    Si on part sur la logique d'une formule par ligne et d'un couper coller, ca te donne quoi comme code stp ?
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  11. #31
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Ah j'ai réussi à copier coller toutes les valeurs de la colonne 12 vers 14
    Comment dire que je souhaite effectuer ce copier/coller seulement si le vlookup marche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
    Dim Ws As Worksheet
    Dim Derlig As Integer, R As Integer
     
    Set Ws = Sheets("MO1")
    Derlig = Ws.Cells(Ws.Columns(12).Cells.Count, 1).End(xlUp).Row
    For R = 2 To Derlig
       Ws.Cells(R, 14) = Ws.Cells(R, 12)
    Next R
    End Sub

  12. #32
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    En admettant que tu ais une valeur VRAI/FAUX dans la colonne Z par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For R = 2 To Derlig
    If Ws(R,26).Value = True Then
       Ws.Cells(R, 14) = Ws.Cells(R, 12)
    End If
    Next R
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  13. #33
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Bonjour,

    j'ai essayé de compiler la rechercheV avec la vérification de la valeur dans la colonne S mais j'ai une erreur "Propriété ou méthode non géré par cet objet" et en surbrillance la ligne If Ws(R, 19).Value = True Then

    Ma rechercheV ramène un "J" si la rechercheV fonctionne. Est-ce que ça a un impact ?

    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
    Sub RECHERCHEV()
        Range("S2").Select
        ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-17],SALJOUR!C[-18]:C[-16],3,FALSE)"
        Range("S2").Select
        Selection.AutoFill Destination:=Range("S2:S200")
     
    Dim Ws As Worksheet
    Dim Derlig As Integer, R As Integer
     
    Set Ws = Sheets("MO1")
    Derlig = Ws.Cells(Ws.Columns(12).Cells.Count, 1).End(xlUp).Row
    For R = 2 To Derlig
    If Ws(R, 19).Value = True Then
       Ws.Cells(R, 14) = Ws.Cells(R, 12)
    End If
    Next R
     
    End Sub

  14. #34
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par MsVixene Voir le message
    j'ai essayé de compiler la rechercheV avec la vérification de la valeur dans la colonne S mais j'ai une erreur "Propriété ou méthode non géré par cet objet" et en surbrillance la ligne If Ws(R, 19).Value = True Then
    Regarde dans l'aide VBA d'Excel.
    Dans la liste des membres de l'objet Worksheet, vois-tu Value ? Non.
    Il est donc normal que VBA n'accepte pas que tu spécifie cette propriété pour Ws.
    https://msdn.microsoft.com/fr-fr/lib.../ff841127.aspx

    Sans compter que Ws n'est pas une variable indicée. Donc lui mettre un double indice est forcément une erreur de syntaxe.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  15. #35
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Ok j'ai à peu près compris pour "Value" qui n'est pas un membre de l'objet Worksheet.

    Je n'ai pas compris par contre si je dois chercher à remplacer Value ou True

    J'ai essayé d'enlever Ws, ou de remplacer True par "J" puisque le résultat de ma formule rechercheV est "J" ou NA.

  16. #36
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Dans l'aide VBA, regarde la description de l'objet Range et la liste de ses membres.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  17. #37
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Dans l'aide VBA, regarde la description de l'objet Range et la liste de ses membres.
    Je n'y arrive vraiment pas
    J'ai un nouveau message : "La méthode Range de l'objet global a échoué" sur la ligne
    If Range(R, 19).Value = "J" Then

    Value est dans la liste des propriétés de Range mais suis en train de dire que Value est une méthode dans ma ligne ou bien ?

    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
    Sub RECHERCHEV()
        Range("S2").Select
        ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-17],SALJOUR!C[-18]:C[-16],3,FALSE)"
        Range("S2").Select
        Selection.AutoFill Destination:=Range("S2:S200")
     
    Dim Ws As Worksheet
    Dim Derlig As Integer, R As Integer
    Dim Plage As Range
     
    Set Ws = Sheets("MO1")
    Derlig = Ws.Cells(Ws.Columns(12).Cells.Count, 1).End(xlUp).Row
    For R = 2 To Derlig
    If Range(R, 19).Value = "J" Then
       Ws.Cells(R, 14) = Ws.Cells(R, 12)
     
    End If
    Next R
     
    End Sub
    EDIT : Est-ce que membre et propriété sont la même chose ?

  18. #38
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    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 : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par MsVixene Voir le message
    Dans l'aide VBA, regarde la description de l'objet Range et la liste de ses membres.
    Je n'y arrive vraiment pas
    C'est une plaisanterie ?

    J'ai un nouveau message : "La méthode Range de l'objet global a échoué" sur la ligne
    If Range(R, 19).Value = "J" Then
    Regarde l'aide VBA de Range.
    https://msdn.microsoft.com/fr-fr/lib.../ff838238.aspx
    Combien de paramètre vois-tu pour cet objet dans les exemples ? 1
    Combien de paramètre vois-tu pour cet objet dans ton code ? 2

    Value est dans la liste des propriétés de Range mais suis en train de dire que Value est une méthode dans ma ligne ou bien ?
    Value n'est pas une méthode mais une propriété.

    Est-ce que membre et propriété sont la même chose ?
    Les membres sont l'ensemble des propriétés, méthode et évènements d'un objet.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  19. #39
    Membre à l'essai
    Femme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juillet 2014
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juillet 2014
    Messages : 56
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Menhir Voir le message
    C'est une plaisanterie ?
    Tu vas me lyncher jusqu'au bout pour avoir tenter de remonter mon sujet ?
    EDIT : c'était général comme commentaire, je n'ai pas dit que je n'arrive pas à lire l'aide...

    Citation Envoyé par Menhir Voir le message
    Combien de paramètre vois-tu pour cet objet dans ton code ? 2
    Peux-tu préciser stp ? Paramètre est un nouveau mot dans ma liste "membres, propriétés, méthode, évènements, objet".
    Qu'est ce qui m'empêche là de dire "Si la valeur de la plage (R,19) est "J" alors..."

    J'ai essayé la ligne ci-dessous et j'ai une incompatibilité de type cette fois, juste en remplaçant Range par Cells

    If Ws.Cells(R, 19).Value = "J" Then


    Quand je regarde l'aide sur la propriété Range.value, je n'ai pas l'impression d'avoir écrit quelque chose de faux.
    Est-ce que tout ce qu'il y a autour est correct au moins ? J'aimerais savoir si je dois me concentrer sur cette ligne-ci ou pas.

    EDIT 2 : Si je reviens à quelque chose de très sommaire, ça fonctionne.
    Pour l'instant je n'arrive pas à incorporer le For et à en faire un cas général pour la colonne 19

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Range("S4").Value = "J" Then
    Ws.Range("N4").Value = _
        Ws.Range("L4").Value
    End If

  20. #40
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut


    Bonjour !

    Sinon peux-tu expliquer en français la logique de ce que tu cherches à réaliser ?!
    Car j'ai l'impression qu'une simple formule de feuille de calculs peut faire l'affaire et ce même en VBA
    sans le besoin de recourir à une inutile boucle ! Mais peut-être me trompe-je d'où le besoin d'une explication …


    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. [XL-2007] Automatiser mise en forme cellule
    Par Feuztoff dans le forum Excel
    Réponses: 10
    Dernier message: 17/04/2014, 06h14
  2. [XL-2010] mise en forme et calcul de la date
    Par farota dans le forum Excel
    Réponses: 2
    Dernier message: 12/12/2012, 20h09
  3. [OpenOffice] « OpenOffice » et l'automatisation des tache de mise en forme
    Par RidaKilan dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 22/02/2008, 16h05
  4. champ calculé avec mise en forme conditionnelle
    Par bobo59000 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/10/2007, 20h22
  5. automatiser une mise en forme
    Par stefano dans le forum Excel
    Réponses: 8
    Dernier message: 17/07/2007, 10h34

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