Bonjour
Bonne et heureuse année à vous qui me lisez.
Je vous écris car je bloque sur un code. Y a deux ans lors d'une formation excel, le formateur m'a gentiment aidé a crée un code VBA. Aujourd'hui, pour répondre à un nouveau besoin, je dois le compléter et mes connaissances en VBA sont limitées et après avoir lu plusieurs sujets, j'arrive pas à trouver la solution.
Comme il s'agit d'un fichier professionnel je ne peux pas le joindre.
Merci d'avance pour votre aide.
Aujourd'hui à l'aide d'un bouton, qui se trouve sur la feuille "A" certaines cellules sont collées sur la feuille "pour le pv voir ici".
Je souhaite maintenant que sur la dernière colonne (26) de la feuille "pour le pv voir ici", soit collé le dernier loyer du véhicule X , loyer qui se trouve noyé avec les autres loyers des autres véhicules sur la feuille "Factures KKK"
J'essaie d'intégrer le code suivant dans le code actuel (plus bas)
Select Case Cells(ActiveCell.Row, 7)
Case "KKK"
Sheets("Factures KKK").Activate
nrLigne = Cells(Rows.Count, 1).End(xlUp).Row
For compteur = nrLigne To 1 Step -1
If Cells(compteur, 1) = coDe Then
Cells(compteur, 26) = Cells(compteur, 12).Value
'
Exit For
End If
Next
End Select
voici le code actuel (que j'ai raccourci délibérément)
Sub Copie_véhicule()
Dim coDe As String
Dim imMat As String
Dim proPrietaire As String
Dim veHicule As String
Dim nrLigne As Long
On Error GoTo erreur
If ActiveCell.Value <> "" Then
coDe = Cells(ActiveCell.Row, 2) ' activeCell.Row = numéro de ligne de la cellule active
imMat = Cells(ActiveCell.Row, 6)
proPrietaire = Cells(ActiveCell.Row, 7)
veHicule = Cells(ActiveCell.Row, 1)
Sheets("pour les PV voir ici").Activate ' activation de la feuille recevant les infos
On Error Resume Next
ActiveSheet.ShowAllData ' Efface les filtres de la feuille active
On Error GoTo erreur
nrLigne = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(nrLigne, 1) = coDe
Cells(nrLigne, 3) = marQue & " " & moDele
Cells(nrLigne, 5) = proPrietaire
For compteur = nrLigne - 1 To 1 Step -1
If imMat = Cells(compteur, 4) Then ' si existe
Cells(nrLigne, 2) = Cells(compteur, 2)
Exit For ' on a trouvé le véhicule => on sort de la boucle
End If
Next
Application.CutCopyMode = False ' déselectionner la sélection en copie
Cells(nrLigne + 1, 1).Select ' retour
Else
MsgBox "La cellule sélectionnée est vide", vbOKOnly + vbExclamation, "blabla"
End If
Exit Sub
Bonne et heureuse année à vous qui me lisez.
Je vous écris car je bloque sur un code. Y a deux ans lors d'une formation excel, le formateur m'a gentiment aidé a crée un code VBA. Aujourd'hui, pour répondre à un nouveau besoin, je dois le compléter et mes connaissances en VBA sont limitées et après avoir lu plusieurs sujets, j'arrive pas à trouver la solution.
Comme il s'agit d'un fichier professionnel je ne peux pas le joindre.
Merci d'avance pour votre aide.
Aujourd'hui à l'aide d'un bouton, qui se trouve sur la feuille "A" certaines cellules sont collées sur la feuille "pour le pv voir ici".
Je souhaite maintenant que sur la dernière colonne (26) de la feuille "pour le pv voir ici", soit collé le dernier loyer du véhicule X , loyer qui se trouve noyé avec les autres loyers des autres véhicules sur la feuille "Factures KKK"
J'essaie d'intégrer le code suivant dans le code actuel (plus bas)
Select Case Cells(ActiveCell.Row, 7)
Case "KKK"
Sheets("Factures KKK").Activate
nrLigne = Cells(Rows.Count, 1).End(xlUp).Row
For compteur = nrLigne To 1 Step -1
If Cells(compteur, 1) = coDe Then
Cells(compteur, 26) = Cells(compteur, 12).Value
'
Exit For
End If
Next
End Select
voici le code actuel (que j'ai raccourci délibérément)
Sub Copie_véhicule()
Dim coDe As String
Dim imMat As String
Dim proPrietaire As String
Dim veHicule As String
Dim nrLigne As Long
On Error GoTo erreur
If ActiveCell.Value <> "" Then
coDe = Cells(ActiveCell.Row, 2) ' activeCell.Row = numéro de ligne de la cellule active
imMat = Cells(ActiveCell.Row, 6)
proPrietaire = Cells(ActiveCell.Row, 7)
veHicule = Cells(ActiveCell.Row, 1)
Sheets("pour les PV voir ici").Activate ' activation de la feuille recevant les infos
On Error Resume Next
ActiveSheet.ShowAllData ' Efface les filtres de la feuille active
On Error GoTo erreur
nrLigne = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(nrLigne, 1) = coDe
Cells(nrLigne, 3) = marQue & " " & moDele
Cells(nrLigne, 5) = proPrietaire
For compteur = nrLigne - 1 To 1 Step -1
If imMat = Cells(compteur, 4) Then ' si existe
Cells(nrLigne, 2) = Cells(compteur, 2)
Exit For ' on a trouvé le véhicule => on sort de la boucle
End If
Next
Application.CutCopyMode = False ' déselectionner la sélection en copie
Cells(nrLigne + 1, 1).Select ' retour
Else
MsgBox "La cellule sélectionnée est vide", vbOKOnly + vbExclamation, "blabla"
End If
Exit Sub