code VBA - copier coller avec conditions

  • Initiateur de la discussion Initiateur de la discussion saelie
  • Date de début Date de début

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 !

saelie

XLDnaute Nouveau
Bonjour a tous,

j'ai essaye de coder en VBA une macro qui devrait me permettre de copier une liste d'une feuille excel dans une autre feuille excel, et de coller toujours a partir de la meme cellule. C'est a dire que si la liste a deja ete copiee une fois et que l'on souhaite la mettre a jour, il faut supprimer les informations avant de coller les nouvelles (et imserer des lignes sil ny a pas assez de place).

Je suis novice, je pense avoir trouve la logique du code, mais je dois faire des erreurs sur la syntaxe, car le debugger bloque sur une simple selection.... Pour le moment je n'ai pas encore code le copier coller car l'insertion des lignes ne fonctionne deja pas...

Le debugger bloque la dessus: Worksheets("Additional Cost").Range("B1").Activate

Pouvez-vous m'aider s'il vous plait?

Voici mon code:

Sub Mymacro()
Dim x As Range
Dim i As Integer
i = 1
Dim Val As Integer


Worksheets("Invoice").Cells.Find("Net Total Amount", , xlValues, xlPart, , , False).Activate
Ligne = ActiveCell.Row

If Ligne <> 50 Then

Rows("49:" & Ligne - 2).Select

Selection.EntireRow.Delete

Worksheets("Additional Cost").Range("B1").Activate
Val = ActiveCell.Value

If Val <> 0 Then
While i < Val
Worksheets("Invoice").Range("A49").Select
Selection.EntireRow.Insert


i = i + 1

Wend


Else
Exit Sub
End If

Else


Worksheets("Additional Cost").Range("B1").Activate
Val = ActiveCell.Value

If Val <> 0 Then
While i < Val
Worksheets("Invoice").Range("A49").Select
Selection.EntireRow.Insert
i = i + 1

Wend


Else
Exit Sub

End If

End If

End Sub
 
Re : code VBA - copier coller avec conditions

Bonjour,

si la feuille n'est pas déjà active, il faut le faire en 2 temps :
Code:
Worksheets("Additional Cost").Activate
Range("B1").Select

A noter les "select" et "activate" sont rarement utiles en vba...

tu pourrais coder par excemple directement ceci :
Code:
Val = Worksheets("Additional Cost").Range("B1").Value

bonne journée
@+
 
Re : code VBA - copier coller avec conditions

Merci beaucoup pour ta reponse, maintenant en effet ca ne bloque plus sur cette ligne de code!

Mais par contrem ca bloque sur le code qui realise la recherche (find, premiere ligne de code) alors que avant ca ne boquait pas... Y aurait-il une explication?
 
- 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
4
Affichages
364
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
234
Retour