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 :

Amélioration de code [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Par défaut Amélioration de code
    bonjour je n'arrive pas a modifier un code ,
    explication :ce code permet de copier une plage de cellule dans une autre feuille avec condition
    mais ce que je cherche ses la modifier pour copier cette feuille dans une feuille nommé 08 si la condition et 08 sans enlever la première condition
    merci pour les personne qui pourrais m'aider
    je vous joint le code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim iHO As Long
    Dim AG As Worksheet
    Dim HO As Worksheet
    Dim lastRow As Long
     Set AG = Worksheets("Transferes")
     Set HO = Worksheets("02")
     lastRow = AG.Cells(Application.Rows.Count, 1).End(xlUp).Row
     iHO = 1
     For iAG = 1 To 1198
     If AG.Cells(iAG, 20).Text = "02" Then
     AG.Range(iAG & ":" & iAG).copy HO.Cells(iHO, 1)
     iHO = iHO + 1
     End If
     Next

  2. #2
    Expert éminent 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
    Par défaut
    Ta demande n'est pas claire mais à la lecture du code, je crois avoir compris.
    Tu peux utiliser un Select Case plutôt qu'un If.
    https://docs.microsoft.com/fr-fr/off...case-statement

    Cela dit, si ta condition correspond au nom de ta feuille, il serait plus simple de ne pas mettre la référence de ta feuille dans une variable mais de l'appeler avec un Worksheets indicé avec la valeur de ta "condition".
    Comme ça, tu n'aurais besoin ni de If, ni de Case.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Par défaut merci
    je te remercie je vais lire le lien que tu ma donner

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Juste au passage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AG.Range(iAG & ":" & iAG)
    n'est rien d'autre que

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function transfert(col, valsheet)
        Dim firstcell As Range
        With Sheets("Transferes")
            Set firstcell = .Columns(col).Find(valsheet, LookIn:=xlValues)
            If Not firstcell Is Nothing Then
                With .Range(firstcell, .Cells(Rows.Count, col).End(xlUp))
                    .AutoFilter Field:=1, Criteria1:=valsheet
                    .EntireRow.Copy Sheets(valsheet).Cells(1, 1)
                    .AutoFilter
                End With
            End If
        End With
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    transfert 20, "02" 'tranfert les lignes avec "02" en colonne 20 du  sheets("tranferes") dans le sheets("02")
    transfert 20, "08" 'tranfert les lignes avec "08" en colonne 20 du  sheets("tranferes") dans le sheets("08")
    End Sub
    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

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Par défaut merci
    bonjour patricktoulon ton code fonctionne a la perfection et me fait économiser des feuil et macros

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Amélioration de code
    Par Devilju69 dans le forum Langage
    Réponses: 3
    Dernier message: 07/10/2008, 15h01
  2. Optimisations et Améliorations de code
    Par womannosky dans le forum Langage
    Réponses: 19
    Dernier message: 02/07/2008, 15h05
  3. [Optimisation]Peut-on améliorer ce code ?
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 09/08/2007, 15h43
  4. [Tableaux] Amélioration de code (if)
    Par Sir Tengu dans le forum Langage
    Réponses: 3
    Dernier message: 24/12/2006, 00h26
  5. [Sécurité] Comment amélioré mon code ?
    Par Nadd dans le forum Langage
    Réponses: 14
    Dernier message: 03/03/2006, 20h13

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