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

frozz

Nouveau membre
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:

[cpp]
Sheets("HCRPR330-20-01-NX-AT").Select

Dim i As Integer
For i = 0 To 6
Cells.Find(What:="200" & i & " Count", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

ActiveCell.Offset(0, 1).Select.Value
Selection.Copy
Sheets("2. Calculs intermediaires").Select
Range("Fi+2").Select.Paste
Next
[/cpp]

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.
 

zeb

Modérateur
: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 :[fixed]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[/fixed]

Alors ?
 

DebVBA

Nouveau membre
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




 

zeb

Modérateur
Salut,

Relis ce fichu règlement. Pour présenter ton code, commence par mettre
Code:
 au début de celui-ci, et [[i]/[/i]code] ) la fin.

Pour créer ton propre topic, clique sur le bouton [url=http://www.presence-pc.com/forum/ppc/Programmation/nouveau_sujet.htm]Créer un nouveau topic[/url].
 

DebVBA

Nouveau membre
Oui je sais mais quand je suis dans créer un nouveau topic y'a pas de bouton "entrée" ou "valider" ou même "envoyer" .. Problème donc
 

DebVBA

Nouveau membre
Bon je me suis connecté depuis chez moi cette fois et je vois enfin ce sacré bouton :D
Je vais donc poster un nouveau sujet de ce pas!
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 059
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut