Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro pour recuperer de données depuis un tableau

1 réponse
Avatar
yves11
Bonjour,

J'aimerais récupérer des données depuis un tableau se trouvant sur la feuille1 pour les mettre chacun à son tour progressivement à une cellule A1 de la feuille2 et récupérer la valeur résultante de A15 (A1 a été modifié avec des calculs pour aboutir à A15) de la feuille2 pour la mettre progressivement dans un tableau de la feuille3.

Voici un exemple du code de la feuille3 que j'ai créé mais qui ne fonctionne pas :(





Private Sub Worksheet_Activate()



confirm = MsgBox("e;Voulez-vous ajouter une nouvelle commande"e;, vbOKCancel, "e;Confirmation"e;)

If confirm = vbCancel Then
Worksheets("e;Feuille1"e;).Activate

Else

Dim numero As Integer
Dim i As Integer
numero = 1
i = 1

Do
Sheets("e;Feuille2"e;).Range("e;A1"e;).Value = Sheets("e;Feuille1"e;).Range(numero, 1).Value
numero = numero + 1

Do While Cells(i, 1) <> 0
Cells(i, 1).Offset(1, 0).Select
i = i + 1
Loop

ActiveCell.Value = Sheets("e;Feuille2"e;).Range("e;A15"e;).Value
ActiveCell.Offset(0, 1).Value = Date

Dim Fin As Long
Sheets("e;Feuille1"e;).Columns("e;A"e;).Find("e;*"e;, , , , , xlPrevious).Row

Loop While numero <= Fin


Sheets("e;Feuille3"e;).Activate

End If


End Sub

1 réponse

Avatar
ibenny
Le lundi 05 Décembre 2016 à 12:44 par yves11 :
Bonjour,
J'aimerais récupérer des données depuis un tableau se
trouvant sur la feuille1 pour les mettre chacun à son tour
progressivement à une cellule A1 de la feuille2 et
récupérer la valeur résultante de A15 (A1 a
été modifié avec des calculs pour aboutir à A15) de
la feuille2 pour la mettre progressivement dans un tableau de la feuille3.
Voici un exemple du code de la feuille3 que j'ai créé mais qui ne
fonctionne pas :(
Private Sub Worksheet_Activate()
confirm = MsgBox("e;Voulez-vous ajouter une nouvelle commande"e;,
vbOKCancel, "e;Confirmation"e;)
If confirm = vbCancel Then
Worksheets("e;Feuille1"e;).Activate
Else
Dim numero As Integer
Dim i As Integer
numero = 1
i = 1
Do
Sheets("e;Feuille2"e;).Range("e;A1"e;).Value =
Sheets("e;Feuille1"e;).Range(numero, 1).Value
numero = numero + 1
Do While Cells(i, 1) <> 0
Cells(i, 1).Offset(1, 0).Select
i = i + 1
Loop
ActiveCell.Value =
Sheets("e;Feuille2"e;).Range("e;A15"e;).Value
ActiveCell.Offset(0, 1).Value = Date
Dim Fin As Long
Sheets("e;Feuille1"e;).Columns("e;A"e;).Find("e;*"e;,
, , , , xlPrevious).Row
Loop While numero <= Fin
Sheets("e;Feuille3"e;).Activate
End If
End Sub
Bonjour yves11,
Tu n'as pas tout dit :
parles-nous de
ActiveCell.Offset(0, 1).Value = Date<
et de
Sheets("e;Feuille1"e;).Columns("e;A"e;).Find("e;*"e;, , , , , xlPrevious).Row<
De plus, tu utilises une variable non définie dans ta procédure : "Fin". Ta boucle va donc automatiquement échouer.
Finalement, combien de lignes à traiter contiens la "Feuille 1" ?
iBenny