Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 recherche et modification plage de données vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chakershaker

XLDnaute Junior
Bonjour forum, je cherche une méthode pour modifier une plage de données contenue dans feuil1 par bouton modifier contenue dans feuil2 .
l'ajout se fait selon le filtre date dans la cellule f3 (donc il faut chercher la plage de données correspond à la date sélectionnée puis la modifier)

Merci d'avance.
 

Pièces jointes

Solution
Bonjour chakershaker,

D'après ce que je comprends :
VB:
Private Sub CommandButton1_Click()
Dim dat, tablo, i&
dat = [F3]
With Sheets("Feuil1")
    tablo = .Range("A1", .UsedRange).Resize(, 6) 'matrice, plus rapide
    For i = 1 To UBound(tablo) - 2
        If tablo(i, 6) = dat And tablo(i + 2, 1) = "Mois" Then Exit For
    Next
    If i = UBound(tablo) - 1 Then MsgBox "Date non trouvée !", 48: Exit Sub
    .Cells(i + 2, 1).CurrentRegion.EntireRow.Delete 'RAZ
    .Rows(i + 2).Resize([A5].CurrentRegion.Rows.Count).Insert 'insère des lignes vides
    [A5].CurrentRegion.EntireRow.Copy .Rows(i + 2) 'copier-coller
    .Visible = xlSheetVisible 'au cas où...
    Application.Goto .Cells(i, 1), True 'cadrage
    .Cells(i, 6).Select
End With
End...
Bonjour chakershaker,

D'après ce que je comprends :
VB:
Private Sub CommandButton1_Click()
Dim dat, tablo, i&
dat = [F3]
With Sheets("Feuil1")
    tablo = .Range("A1", .UsedRange).Resize(, 6) 'matrice, plus rapide
    For i = 1 To UBound(tablo) - 2
        If tablo(i, 6) = dat And tablo(i + 2, 1) = "Mois" Then Exit For
    Next
    If i = UBound(tablo) - 1 Then MsgBox "Date non trouvée !", 48: Exit Sub
    .Cells(i + 2, 1).CurrentRegion.EntireRow.Delete 'RAZ
    .Rows(i + 2).Resize([A5].CurrentRegion.Rows.Count).Insert 'insère des lignes vides
    [A5].CurrentRegion.EntireRow.Copy .Rows(i + 2) 'copier-coller
    .Visible = xlSheetVisible 'au cas où...
    Application.Goto .Cells(i, 1), True 'cadrage
    .Cells(i, 6).Select
End With
End Sub
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
152
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…