Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1392 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro copier coller suivant la valeur d'une cellule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro copier coller suivant la valeur d'une cellule

n°2264310
lilox77
Posté le 12-08-2015 à 15:24:53  profilanswer
 

Bonjour à tous,
étant très novice en VBA, je viens vous demander votre aide pour une macro, qui je pense n'est pas du tout compliquée !
Pour vous expliquer : je dispose d'une feuille excel avec en colonne A des paramètres pour le Solver, et en colonne B un texte (OK) si le paramètre correspondant va me servir.  
L'objectif est de faire une macro, qui dans va chercher dans la colonne B entre les lignes 1 à ... (34 par exemple) si la valeur est "OK" ou si la cellule est vide.  
Si la cellule est "OK" (par exemple B5 = OK), se décaler sur la colonne A (en A5), copier la cellule, et aller la coller (en collage spécial) dans la colonne C (en C5), puis continuer son chemin dans la colonne B jusqu'en 34. En cas de cellule vide, pas de copie.
Je ne peux malheureusement pas utiliser une simple formule, car les cellules en colonne A sont des paramètres pour le solveur, ce qui fait que je n'arrive pas à récupérer le paramètre, mais seulement un "VRAI".
 
En vous remerciant par avance.
Lilian

mood
Publicité
Posté le 12-08-2015 à 15:24:53  profilanswer
 

n°2264311
Marc L
Posté le 12-08-2015 à 15:55:30  profilanswer
 

 
            Bonjour, bonjour !
 
            Commencer par lire les règles de ce forum !
 
            Si ce n'est pas du tout compliqué, un novice peut justement entreprendre le code !
            Ne pas oublier l'Enregistreur de macros, un précieux outil notamment pour un novice …
 
            Comme le VBA ne lit pas mieux qu'une formule, il est conseillé de favoriser un maximum les formules au code.
            Un code pur VBA est souvent bien moins efficace et plus lent qu'un autre utilisant les fonctionnalités d'Excel !
 

n°2264403
nicolasvba
Salut ! VBA bien ?
Posté le 14-08-2015 à 11:15:04  profilanswer
 

Voici une solution !  ;)  
 

Code :
  1. Sub test()
  2. 'Déclaration d'une variable entière pour stocker le nombre de ligne de ton tableau
  3. Dim NombreLigne As Integer
  4. 'Sélection de la feuille sur laquelle se trouve les données à traiter, ici par exemple Feuil1
  5. Sheets("Feuil1" ).Select
  6. 'Commence par supprimer toutes les valeurs de la colonne C
  7. Columns("C:C" ).ClearContents
  8. 'Enregistrement du nombre de ligne de ton tableau
  9. NombreLigne = InputBox("Nombre de ligne à traiter ?" )
  10. 'Boucle qui va de 1 au nombre total de ligne
  11. For i = 1 To NombreLigne
  12.     'Si la cellule de la ligne i et de la seconde colonne (B) est égale à OK, alors
  13.     If Cells(i, 2) = "OK" Then
  14.         'La valeur de la cellule de la ligne i et de la colonne 1 (A) est recopié sur la même ligne i en colonne 3 (C)
  15.         Cells(i, 3).Value = Cells(i, 1).Value
  16.     'Fin de la condition If
  17.     End If
  18. 'Fin de la boucle For
  19. Next
  20. End Sub


 
Bonne journée !


Message édité par nicolasvba le 14-08-2015 à 11:17:08

---------------
La cuillère n'existe pas

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro copier coller suivant la valeur d'une cellule

 

Sujets relatifs
[RESOLU] optimisation macro VBA[SQL Server/Cobol] Maj colonne NULL ou valeur non NULL
bugg pivottables - macro graph croisé dynamique[vbs] recup user name pr copier un fichier sur le bureau
Problème filtrage macroMacro copier tableau avec plusieurs critères
Sélectionner une valeur dans un array multidimensionnel (+SQL & PDO)macro pour copier coller lignes
Plus de sujets relatifs à : Macro copier coller suivant la valeur d'une cellule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR