Rattiba
-
Modifié par jordane45 le 30/01/2016 à 01:51
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
30 janv. 2016 à 04:34
Bonjour,
je suis débutante en VBA, et j'aimerais savoir comment récupérer des valeurs en passant d'une feuille excel à l'autre. Mon code comporte plusieurs erreurs mais je ne sais pas comment les résourdre.
Merci d'avance pour vos suggestion de correction ;)
Sub Calcul_Capacite_Reservee()
Dim ligne_Bulle As Integer
Dim col_Bulle As Integer
Dim C_Bulle As String
'valeur à chercher
C_Bulle = Sheets("Feuil1").Cells(6, 4).Value
'à chercher dans la feuille 2 pour connaitre la ligne contenant la valeur
'renvoyer la valeur adjacente dans la feuille 1
Dim i As Integer
i = 3
While Not Sheets("Feuil2").Cells(i,4) = ""
If Sheets("Feuil2").Cells(i, 4).Value = C_Bulle Then
ligne_Bulle = i
Sheets("Feuil1").Cells(6,7)=Sheets("Feuil2").Cells(i, 5).Value
End If
i = i + 1
Wend
'connaître les valeurs contenues dans la ligne de la valeur recherchee en feuille 2
'a partir de la sixième colonne et les rechercher dans la neuvième colonne de
'la feuille 3
'pour renvoyer en Feuille 1 la valeur adjacente
Sheets("Feuil2").Select
col_Bulle = 6
While Not Sheets("Feuil2").Cells(ligne_Bulle, col_Bulle) = ""
If Sheets("Feuil2").Cells(ligne_Bulle, col_Bulle) = Sheets("Feuil3").Cells(i, 9).Value Then
Sheets("Feuil1").Cells(13, 4) = Sheets("Feuil3").Cells(i, 10).Value
End If
col_Bulle = col_Bulle + 1
Wend
End Sub
EDIT : Ajout des balises de code (la coloration syntaxique). Explications disponibles ici :ICI
Bonjour,
1) Tu as ouvert cette discussion dans le forum général Visual Basic.
Je la déplace vers le sous-forum adéquat (VBA). Prends s'il te plait dorénavant ce soin.
2) tu dis avoir des erreurs, mais ne signales pas lesquelles
EDIT : ce que je peux déjà te dire de ton code, qui semble correspondre à un exercice scolaire est évident et est qu'à l'issue de ta première boucle :
- ligne_bulle n'aura qu'une seule valeur i : celle de la seule toute dernière occurrence (et si aucune occurrence, sa valeur sera .... 0 !)
- i aura également une seule valeur : le numéro de la seule première ligne vide rencontrée dans ta colonne D
EDIT2 : pour balayer des colonnes de lignes parcourues en boucle, il faut utiliser des boucles imbriquées et non, comme tu le fais, deux boucles sans lien entre elles.
Je te laisse réfléchir sur ces points.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.