Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Débutant VBA à besoin d'aide !! :)

julou

XLDnaute Nouveau
bonjour à tous !! j'ai commencé des études à l'université et j'ai le droit à des supers cours d'informatique.

dès mon premier quadrimestre, on m'initie au codage VBA (les grosses bases)
je dois donc maintenant faire un gros travail qui me demande d'utilisé access et excel

Dans mon fichier excel, on me demande de faire quelques macros VBA et je bloque sur une macro en particulier :

j'ai créé un bouton permettant de lancer la macro mais j'aimerai que celle-ci commence à la première cellule vide de la colonne A. je vous met un screenshot de ma feuille pour que vous visualisiez la chose





voici mon code:


Sub bonlivraison()

Dim i As Integer

For i = A1 To Range("A65536").End(xlUp).Row

If ActiveCell.Value = "" Then


' Encode le n° de matricule du bon
Matricule_livraison = InputBox("Entrez le numéro de matricule du bon")
ActiveCell.FormulaR1C1 = Matricule_livraison
ActiveCell.Offset(0, 1).Select

' Encode le lieu de livraison du produit

Lieu_livraison = InputBox("Entrez le lieu de livraison du bon [port]")
ActiveCell.FormulaR1C1 = Lieu_livraison
ActiveCell.Offset(0, 1).Select
' Encode la date d'arrivée du produit
Dim Date_D_arrivée As Date
Date_D_arrivée = InputBox("Entrez la date d'arrivé du produit selon le format jj/mm/aaaa")
ActiveCell.FormulaR1C1 = Date_D_arrivée

'code pour que la date de la colonne D (date d'arrivée du produit) impact sur la colonne E (reçu ou non-reçu)
Dim dateprog As Date
dateprog = DateValue(Now)

For ligne = 2 To 27
colonne = "D"
colonne2 = "E"
If Range(colonne & ligne).Value > dateprog Then Range(colonne2 & ligne).Value = "Non-Reçu"
If Range(colonne & ligne).Value < dateprog Then Range(colonne2 & ligne).Value = "Reçu"

Next ligne

ActiveCell.Offset(1, -4).Select

Else
Selection.Offset(1, 0).Select
Next i

End Sub




malheuresement j'ai un message d'erreur me disant "next sans for".. je pense qu'il y a un problème avec mon for imbriqué mais je ne trouve pas la solution...
 
Dernière édition:

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Débutant VBA à besoin d'aide !!

RE

Comme je le disais plus haut le fichier semble contenir des données qui ne sont pas bidons (armateurs, bateaux, ...)
Je viens de retirer le dernier fichier posté
 

julou

XLDnaute Nouveau
Re : Débutant VBA à besoin d'aide !!

youpi !! j'ai encore un souci

j'ai un code de base qui marche et qui s'actionne avec un bouton :


et j'ai voulu rajouter une boucle pour que mon code ajoute 4 membres quand on la lance (car j'ai 4 membres par équipages) :


mais rien ne ce passe, meme pas de message d'erreur !! Que faire ?!? la boucle est mal placée, mais je comprends pas...

encore merci

jules
 

julou

XLDnaute Nouveau
Re : Débutant VBA à besoin d'aide !!

Donc !! voici un fichier avec une seule feuille contenant un code permettant la saisie des données et leur placement automatique (un code du même genre que l'on retrouve plus haut dans la discussion) . Le code fonctionne, j'aimerai juste rajouter une boucle pour qu'il ajoute 4 membres : soit qu'il recommence 4 fois le code.

mon code de base est le suivant :


et voici ce que je ajouter mais qui ne marche pas :


il n'y a pas de message d'erreur mais rien en ce passe...

quelqu'un peut-il (encore) m'aider?

jules
 

Pièces jointes

  • Classeur.xlsm
    14.8 KB · Affichages: 34
  • Classeur.xlsm
    14.8 KB · Affichages: 34
  • Classeur.xlsm
    14.8 KB · Affichages: 38

sourcier08

XLDnaute Occasionnel
Re : Débutant VBA à besoin d'aide !!

Bonjour à tous,

Essayes avec ça :

Code:
Public Sub ajouter_membre()
   
Dim a As Integer, i As Integer

a = Range("A65536").End(xlUp).Row + 1


For i = a To a + 3 'répéter 4 fois la macro


If Cells(2, 1) = "" Then

    Cells(2, 1) = "1"
    Cells(2, 2) = InputBox("Entrez le nom d'équipage")
    Cells(2, 3) = InputBox("Entrez le prénom")
    Cells(2, 4) = InputBox("Entrez le nom")
    Cells(2, 5) = InputBox("Entrez l'adresse du membre")
    Cells(2, 6) = InputBox("Entrez le numero de GSM du membres", "Choix", "000 0000000")
    Cells(2, 7) = InputBox("entrez la position hiérachique du membre")
    Else
    
    Cells(a, 1) = Cells(a - 1, 1) + 1

    ' Encode le nom d'équipage
    Cells(a, 2) = InputBox("Entrez le nom d'équipage")

    ' Encode le prénom du membre
    Cells(a, 3) = InputBox("Entrez le prénom")

    ' Encode le nom du membre
    Cells(a, 4) = InputBox("Entrez le nom")
    
    ' Encode l'adresse du membre
    Cells(a, 5) = InputBox("Entrez l'adresse du membre")

    ' Encode le numéro de gsm du membre
    Cells(a, 6) = InputBox("Entrez le numero de GSM du membres", "Choix", "000 0000000")

    ' Encode la position hiérarchique du membre
    Cells(a, 7) = InputBox("entrez la position hiérachique du membre")
    
   End If
   
a = a + 1

Next i

End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…