Macro pour Excel
Résolu/Fermé
schpop12
Messages postés
49
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
21 juin 2016
-
17 mars 2008 à 08:17
schpop12 Messages postés 49 Date d'inscription dimanche 9 mars 2008 Statut Membre Dernière intervention 21 juin 2016 - 17 mars 2008 à 16:45
schpop12 Messages postés 49 Date d'inscription dimanche 9 mars 2008 Statut Membre Dernière intervention 21 juin 2016 - 17 mars 2008 à 16:45
A voir également:
- Macro pour Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
5 réponses
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
17 mars 2008 à 09:17
17 mars 2008 à 09:17
Salut,
Si je comprends bien : quand tu sélectionnes une valeur de ta liste A20, ta ligne 22 doit afficher la ligne de ton tableau A1:F15 dont la valeur dans la colonne A est égale à celle de la cellule A20?... Si c'est le cas, alors pas besoin de macro, un rechercheV fait l'affaire...
Par exemple en B22 :
=rechercheV(a20;a1:f15;2;)
Si je comprends bien : quand tu sélectionnes une valeur de ta liste A20, ta ligne 22 doit afficher la ligne de ton tableau A1:F15 dont la valeur dans la colonne A est égale à celle de la cellule A20?... Si c'est le cas, alors pas besoin de macro, un rechercheV fait l'affaire...
Par exemple en B22 :
=rechercheV(a20;a1:f15;2;)
Salut,
Ce code devrait resoudre ton problème, à supposer que ta liste déroulante s'appelle ComboBox1.
En mode création, clic droit sur le controle, -> Visualiser le code
Remplace le code proposé par celui qui suit.
De retour sur la feuille Excel, enlève le mode création, le controle est opérationnel. Salut.
Ce code devrait resoudre ton problème, à supposer que ta liste déroulante s'appelle ComboBox1.
En mode création, clic droit sur le controle, -> Visualiser le code
Remplace le code proposé par celui qui suit.
De retour sur la feuille Excel, enlève le mode création, le controle est opérationnel. Salut.
Private Sub ComboBox1_Change() Dim l As Integer l = ComboBox1.ListIndex + 1 Rows(l).Select Selection.Copy Range("A22").Select ActiveSheet.Paste Application.CutCopyMode = False Range("A22").Select End Sub
schpop12
Messages postés
49
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
21 juin 2016
6
17 mars 2008 à 09:44
17 mars 2008 à 09:44
salut merci encore pour les réponses
j'ai réussi a écrire mais ca ce lance pas tout seul. Je vai essayer ta méthode amigo. J'ai du adapter les cellules a mes besoin ca correspond plus tout a fait.
Comment on passe en mode création? Désolé je suis vraiment nul.
Sub CopieBV()
If Range("B41").Value = "BV1" Then
Range("C12:I12").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV2" Then
Range("C13:I13").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV3" Then
Range("C14:I14").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV4" Then
Range("C15:I15").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV5" Then
Range("C16:I16").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV6" Then
Range("C17:I17").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV7" Then
Range("C18:I18").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV8" Then
Range("C19:I19").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV9" Then
Range("C20:I20").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV10" Then
Range("C21:I21").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
End Sub
j'ai réussi a écrire mais ca ce lance pas tout seul. Je vai essayer ta méthode amigo. J'ai du adapter les cellules a mes besoin ca correspond plus tout a fait.
Comment on passe en mode création? Désolé je suis vraiment nul.
Sub CopieBV()
If Range("B41").Value = "BV1" Then
Range("C12:I12").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV2" Then
Range("C13:I13").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV3" Then
Range("C14:I14").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV4" Then
Range("C15:I15").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV5" Then
Range("C16:I16").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV6" Then
Range("C17:I17").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV7" Then
Range("C18:I18").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV8" Then
Range("C19:I19").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV9" Then
Range("C20:I20").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
If Range("B41").Value = "BV10" Then
Range("C21:I21").Select
Selection.Copy
Sheets("Assemblage de bassins").Select
Range("C44").Select
ActiveSheet.Paste
End If
End Sub
Mike-31
Messages postés
18349
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
27 novembre 2024
5 105
17 mars 2008 à 15:02
17 mars 2008 à 15:02
Salut,
Pour le même résultat essaies cette macro à partir de ton menu déroulant passes en mode création et colle cette macro
Private Sub ComboBox1_Change()
Dim l As Integer
l = ComboBox1.ListIndex + 1
Rows(l).Select
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 8)).Select
Selection.Copy
Range("C44").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
A+
Pour le même résultat essaies cette macro à partir de ton menu déroulant passes en mode création et colle cette macro
Private Sub ComboBox1_Change()
Dim l As Integer
l = ComboBox1.ListIndex + 1
Rows(l).Select
Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 8)).Select
Selection.Copy
Range("C44").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
A+
Re,
Passer en mode création:
Menu Affichage > Barre d'outils > Visual Basic
Dans la barre d'outils il ya un bouton avec une regle et une equerre. Enfoncé, on a acces aux propriétés des controles qui sont sur la feuille. Relevé, les controles réagissent aux évènements ( clic , change, ...)
Salut.
Passer en mode création:
Menu Affichage > Barre d'outils > Visual Basic
Dans la barre d'outils il ya un bouton avec une regle et une equerre. Enfoncé, on a acces aux propriétés des controles qui sont sur la feuille. Relevé, les controles réagissent aux évènements ( clic , change, ...)
Salut.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
schpop12
Messages postés
49
Date d'inscription
dimanche 9 mars 2008
Statut
Membre
Dernière intervention
21 juin 2016
6
17 mars 2008 à 16:45
17 mars 2008 à 16:45
Ok merci pour votre aide
La j'ai réussit ma macro et je l'ai automatisé vu que ce marche je vais plus y touché.
Encore merci pour vos conseil
La j'ai réussit ma macro et je l'ai automatisé vu que ce marche je vais plus y touché.
Encore merci pour vos conseil