Se connecter avec
S'enregistrer | Connectez-vous

Debutant VBA Excel, selectionner, copier/coller, etc.

Dernière réponse : dans Programmation
Partagez

Bonjour a tous,

Je me suis mis aux macros depuis deux jours et j'ai donc fortement beoin de votre aide.

J'essaye actuellement d'ecrire une macro qui recherche une cellule contenant du texte "200i Count", i allant de 0 a 6. Une fois cette recherche effectuee, la macro selectionne la cellule qui se trouve directement a droite sur la meme ligne. Je souhaiterais qu'apres ca elle copie/colle la valeur de cette derniere cellule dans une autre feuille.
Pour l'instant j'ai le code suivant:

  1. Sheets("HCRPR330-20-01-NX-AT").Select
  2.  
  3. Dim i As Integer
  4. For i = 0 To 6
  5. Cells.Find(What:="200" & i & " Count", After:=ActiveCell, LookIn:=xlFormulas, _
  6. LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
  7. MatchCase:=False, SearchFormat:=False).Activate
  8.  
  9. ActiveCell.Offset(0, 1).Select.Value
  10. Selection.Copy
  11. Sheets("2. Calculs intermediaires").Select
  12. Range("Fi+2").Select.Paste
  13. Next


Je suis conscient qu'il doit contenir de grosses fautes, d'ailleurs la macro ne fonctionne pas. Pourriez-vous me dire ce qui ne va pas ?

Merci d'avance.

:fou:  Ce que l'enregistreur de macro m'énerve avec ces Select/Selection et autre Activate/ActiveTruc
Rien contre toi, frozz, d'autant que c'est avec cet enregistreur qu'on progresse le plus vite.

Rien de ridicule dans ton code, en tout cas.

Une erreur de conception : Tu ne vérifies pas si la recherche a donné quelque chose ou pas.
Une erreur de VB : "Fi+2" et "F" & i + 2 sont différents !

Etudie-moi ça :
Dim c As Range
..
Set c = Sheets("Feuil1").Cells.Find("200" & i & " Count")
If Not c Is Nothing Then Sheets("Feuil2").Range("F" & i + 2).Value = c.Offset(0, 1).Value


Alors ?
Contenus similaires

Bonjour ! Ce sujet m'a beaucoup aidée pour faire tourner le début de ma 1ere macro! Elle marche mais... j'ai un problème :
Je veux copier dans la feuille "tableau total" uniquement les cellules de la 1ere colonne de la feuille "projets" où il y a du texte. Or dans mon tableau final, les cellules vides ont apparement été collées, ou alors il y a eu un retour à la ligne, en tout cas elles n'apparaissent pas...

Voici mon code, pouvez vous m'aider svp?

Je précise que j'ai lu le réglement et donc la mise en forme du code mais je n'arrive pas à créer de nouveau sujet ou a éditer celui ci pour mettre la bonne mise en forme :(  (je trouve pas le bouton envoyer !! xD)

Sub TEST()

Windows("Tout 20110707Z.xls").Activate
Sheets("Projets").Select

Dim i As Integer
Dim c As Range

For i = 1 To 30
Set c = Range("A" & i)

If Not IsEmpty(c) Then Sheets("Tableau Total").Range("A" & i + 7).Value = c.Value


Next

End Sub




Posez votre question