Parcours d'une colonne en vba

Fermé
pipleton - 14 janv. 2009 à 13:46
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 14 janv. 2009 à 15:05
Bonjour,
Je désire parcourir une colonne afin de savoir si ce que contient le champs de mon formulaire est écrit dans une cellule de cette colonne, si c'est le cas je souhaite ajouter 1 à la valeur contenu dans la cellule voisine et sinon ajouter une ligne le contenu du champ et la valeur 1 dans la cellulue adjacente

J'ai bien tenté quelque chose mais sans grand succès,
Je vous remercie par avence de votre aide


Voilà mon code

'on selectionne dans la feuille agence la cellule'
Sheets("agence").Select

'Aller sur la cellule A65536 (soit la dernière de la colonne)'
Range("D65536").Select

'fin vers le haut'
Selection.End(xlUp).Select

'numero de la dernière ligne'
der = ActiveCell.Row - 1


For i = 2 To der + 1

Range("D" & i).Select

CB_agence.AddItem ActiveCell.Value

'si l'agence est déjà crée
If ActiveCell.Value = CB_agence.Text Then
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ActiveCell.Value + 1
ActiveCell.Offset(0, -1).Select

Else

'sinon on ajoute une ligne
'Selection.EntireRow.Insert
ActiveCell.Offset(1, 0).EntireRow.Insert
ActiveCell.Offset(0, 0).Select
ActiveCell.Value = CB_agence.Text
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ActiveCell.Value + 1
ActiveCell.Offset(0, -1).Select

End If

Next
A voir également:

1 réponse

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 289
14 janv. 2009 à 15:05
Dim C as variant ' je modifie ici

'on selectionne dans la feuille agence la cellule'
Sheets("agence").Select

'Aller sur la cellule A65536 (soit la dernière de la colonne)'
Range("D65536").Select

'fin vers le haut'
Selection.End(xlUp).Select

'numero de la dernière ligne'
der = ActiveCell.Row - 1

for each C in range("D2:D"&der+1) ' je modifie ici : pour chaque cellule dans la plage
' For i = 2 To der + 1 'plus utilisé

' Range("D" & i).Select ' inutile

' CB_agence.AddItem C.value ' je modifie
i'ci tu ajoutes un élément et ensuite tu vérifies qu'il correspond à ta cellule ce qui toujours vrai
' moi je ferai ...

if Cb_agence.value=c.value then
C.Offset(0, 1).value=c.value+1


'si l'agence est déjà crée
'If ActiveCell.Value = CB_agence.Text Then
'ActiveCell.Offset(0, 1).Select
'ActiveCell.Value = ActiveCell.Value + 1
'ActiveCell.Offset(0, -1).Select

Else

'sinon on ajoute une ligne
'Selection.EntireRow.Insert
C.EntireRow.Insert

'ActiveCell.Offset(1, 0).EntireRow.Insert
'ActiveCell.Offset(0, 0).Select
'ActiveCell.Value = CB_agence.Text
'ActiveCell.Offset(0, 1).Select
'ActiveCell.Value = ActiveCell.Value + 1
'ActiveCell.Offset(0, -1).Select

End If

Next


tu testes j'ai un rdv je repasse plus tard
R
0