Ajout de données avec bouton - vba sous excel

Résolu
cartman29 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -  
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Mon souhait :

Arriver à faire un bouton qui, lorsqu'il est appuyé, me copie les données de ma listedéroulante vers la cellule I7 et que lorsque je re-clic dessus qu'il me copie les données de ma listedéroulante dans la cellule du dessous.

Mon code actuellement :

Sub Macro3() 
' 
' Macro3 Macro 
' 


 Range("I16").Select 
 ActiveCell.FormulaR1C1 = "=INDEX(Articles!R2C1:R16C3,R14C8,2)" 
  

Selection.EntireRow.Insert 

     
             
End Sub 


Mon code prend la valeur H14. Cette valeur du H14 à été défini par moi depuis la listedéroulante. Ensuite la formule (=Index(Articles!......) cherche à la colonne 2 ma valeur du H14 et m'inscrit dans la cellule I17 ma valeur de la colonne 2.. . Pour finir ça ajoute une ligne.

Cependant à chaque fois que je clic sur une autre donnée dans ma listedéroulante les données de toutes mes I17, I18.. ont la même valeur. Tout cela est normal après réflexion mais je n'arrive pas à faire en sorte que ça s'arrête de changer.


Auriez-vous un meilleur code que le mien, je débute. Merci à vous !


P.S. Je travaille actuellement sous excel 2007

A voir également:

5 réponses

lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour,
Si j'ai bien compris ? pourquoi une formule ?
Private Sub CommandButton1_Click() 
    Cells(IIf(Range("I17") = "", 17, Range("I65536").End(xlUp).Row + 1), "I") = ComboBox1.Text 
End Sub

Pour insérer la ligne ont verras après où.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
cartman29 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
Je n'arrive pas au résultat, j'ai une erreur :

Sub CommandButton1_Click() 
Cells(IIf(Range("I17") = "", 17, Range("I65536").End(xlUp).Row + 1), "I") = Zonecombinée14.Text 

End Sub


voilà j'ai juste changé "ComboBox1" en "Zonecombinée14" et j'ai enlevé le private pour qu'il devienne public. J'ai affecté cette macro au bouton.

désolé je suis débutant.

(erreur d'exécution 424, objet requis)
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
C'est un contrôle "Formulaire" que tu a mis, dans ce cas il faudra procéder autrement.
La plage de ta liste est validée ?
La cellule liée est validée ? si oui à quelle cellule ?
Tu dis.
0
cartman29 Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
La plage de ma liste à comme nom "articles" de la feuille "Articles" (je suis sur la feuille facture). Sinon mon menu déroulant est liée à la cellule G7
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Avec une liste déroulante "formulaire" c'est un peu plus complquer.
Tu colle le code...
Sub ValideListe()
Const LigDeb = 2 '1ère ligne de la plage -1 ; A ADAPTER
    Cells(IIf(Range("I17") = "", 17, Range("I65536").End(xlUp).Row + 1), "I") = Range("A" & (Range("G7") + LigDeb))
End Sub

Ensuite tu lie la macro à ta liste.
Pas oublier d'adapter la 1ère ligne de ta plage.
A+
0