Copie de données d'une feuille à une autre

gui22

XLDnaute Nouveau
Bonjour à tous,

Je suis nouveau sur la plateforme et j'aimerais un peu d'aide concernant du VBA, je suis débutant dans ce domaine et c'est la première fois que je l'utilise.
Voici ma macro qui ne fonctionne pas, j'aimerais qu'une fois les données copier la macro cherche dans la colonne A de la feuille F73 la valeur "oo" puis insérer les données en dessous de cette valeur ( il s'agit d'un formulaire ) :
Sheets("Données").Select
Rows("55:74").Select
Selection.Copy
Sheets("F73").Select
Range("A95").Select
While ActiveCell.Offset(1, 0).Value <> "oo"
ActiveCell.Offset(2, 0).Select
Wend
Selection.EntireRow.Insert Shift:=xlDown
 
Solution
Bonjour gui22

A essayer:

VB:
'déclaration de variables'
Dim Der_Ligne As Long
Dim I As Long

'sélection des données à copier'
Sheets("Données").Activate   'activation de la feuille données'
Rows("55:74").Select
Selection.Copy

Sheets("F73").Activate     'activation de la feuille F73'
Der_Ligne = Cells(Application.Rows.Count, 1).End(xlUp).Row 'nombre total de ligne dans la colonne A'
I = 1    'si la première donnée à vérifier est en A1'
Do
    If Sheets("Feuil2").Cells(I, 1) = "oo" Then   'recherche ligne par ligne de la valeur oo'
        Sheets("Feuil2").Cells(I + 1, 1).Select   'ligne trouvé donc sélection ligne suite pour insertion'
        Selection.Insert Shift:=xlDown            'insertion des données'
        Exit Do...

Annach

XLDnaute Nouveau
Bonjour gui22

A essayer:

VB:
'déclaration de variables'
Dim Der_Ligne As Long
Dim I As Long

'sélection des données à copier'
Sheets("Données").Activate   'activation de la feuille données'
Rows("55:74").Select
Selection.Copy

Sheets("F73").Activate     'activation de la feuille F73'
Der_Ligne = Cells(Application.Rows.Count, 1).End(xlUp).Row 'nombre total de ligne dans la colonne A'
I = 1    'si la première donnée à vérifier est en A1'
Do
    If Sheets("Feuil2").Cells(I, 1) = "oo" Then   'recherche ligne par ligne de la valeur oo'
        Sheets("Feuil2").Cells(I + 1, 1).Select   'ligne trouvé donc sélection ligne suite pour insertion'
        Selection.Insert Shift:=xlDown            'insertion des données'
        Exit Do                                      'travail effectué, on sort de la boucle'     
    End If
    I = I + 1
Loop Until I > Der_Ligne

Bon courage
 

gui22

XLDnaute Nouveau
Bonjour gui22

A essayer:

VB:
'déclaration de variables'
Dim Der_Ligne As Long
Dim I As Long

'sélection des données à copier'
Sheets("Données").Activate   'activation de la feuille données'
Rows("55:74").Select
Selection.Copy

Sheets("F73").Activate     'activation de la feuille F73'
Der_Ligne = Cells(Application.Rows.Count, 1).End(xlUp).Row 'nombre total de ligne dans la colonne A'
I = 1    'si la première donnée à vérifier est en A1'
Do
    If Sheets("Feuil2").Cells(I, 1) = "oo" Then   'recherche ligne par ligne de la valeur oo'
        Sheets("Feuil2").Cells(I + 1, 1).Select   'ligne trouvé donc sélection ligne suite pour insertion'
        Selection.Insert Shift:=xlDown            'insertion des données'
        Exit Do                                      'travail effectué, on sort de la boucle'    
    End If
    I = I + 1
Loop Until I > Der_Ligne

Bon courage
Bonjour,
Merci beaucoup sa fonctionne parfaitement.
Je cous remercie.
 

Discussions similaires

  • Question
Microsoft 365 Code VBA
Réponses
2
Affichages
320

Statistiques des forums

Discussions
312 209
Messages
2 086 267
Membres
103 168
dernier inscrit
isidore33