Bonjour à tous…
J’ai un petit problème dans un programme que je crée en visuak basic excel 2007.
Voilà, j’ai 2 feuilles, 1 qui me propose un choix entre plusieurs actions à effectuer et l’autre dans laquelle se trouve un tableau en 4 colonnes et x lignes (je rajoute des lignes tous les jours) avec des valeurs dans chaque ligne (aucune case vide)… le tableau commence en b6 avec la ligne b6 correspondant aux intitulés de mes colonnes.
Une des actions que je souhaite effectuer dans ma première feuille est « modifier une fiche ».
Pour cela j’ai crée une macro et vu le nombre important de fiche, en début de macro j’ai ceci :
Merci pour votre aide car je bloque…
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
21
22
23
24
25
26
27
28
29
30
31
32
33 Sub CAPTURE_MODIFICATION() 'Déclaration des variables Dim P As String Dim Plage As Range 'Sélection de la feuille données Worksheets("Données").Select 'P est la valeur que le filtre automatique prendra en compte dans sa recherche P = InputBox("Indiquez le service où vous souhaitez modifier une fiche :", "Modification d'une fiche à partir d'un service") 'Sélection de la cellule C6 Range("B6").Select 'Filtre automatique dans la colonne b avec comme critère de recherche la valeur P ActiveSheet.Range("$B$6:$E$65536").AutoFilter Field:=1, Criteria1:=P Jai donc beaucoup moins de fiches après ce filtre et ma fiche à modifier est plus facilement repérable. De ce point là je souhaite sélectionner une plage à modifier (c'est-à-dire une ligne de 4 cellules). Et je voudrais que si je clic aléatoirement sur la ligne 1, 3, 50 ou 1000, la macro sexécute en me demandant par quoi je veux remplacer chaque cellule(les une après les autres) de la ligne sélectionnée jai déjà essayé plusieurs cas mais rien ne fonctionne. Dernier essai aujourdhui avec pour objectif que cela fonctionne pour la première cellule. Cest encore raté.. 'Sélection de la plage de cellules Set Plage = Application.InputBox("Sélectionnez la ligne à modifier : (début des modifications après validation de la sélection)", "Modification de la fiche", Type:=8) A = Plage.Rows.Count o = Plage.Columns.Count For o = 1 To 1 'Demande de renseignement sur le service concerné + insertion dans la nouvelle ligne du tableau w = InputBox("entrez le nom du SERVICE", "SERVICE MODIFIE", "----------------") Range(Cells(a, o)).Value = w Next o
Partager