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

XL 2013 MODIF BDD EN FONCTION D1 OK

GADENSEB

XLDnaute Impliqué
Bonjour,

Je voudrais, en lançant le Bouton3, que pour toutes les lignes (Onglet Interface) ou dans la colonne D= "OK" alors dans l'onglet "BDD" la ligne concernée (1,2,3,4,,,,,,) on modifie la colonne D

--> Si OK alors colonne D = "OUI"

Merci à vous

Bonne Journée
Seb
 

Pièces jointes

  • CASE A COCHER ET MODIF BDD1.xls
    51.5 KB · Affichages: 9

GADENSEB

XLDnaute Impliqué
Hello
Je viens de retester ce code et il me demande de declarer les variable tablo1 et tablo2 et N
Je dim avec quoi ??

Pour précision j'utilise en xlsm...
Voici mon code
Code:
Sub Maj_Bq()


tablo1 = Sheets("INTERFACE").Range("M8:U" & Sheets("INTERFACE").Range("m" & Rows.Count).End(xlUp).Row)

tablo2 = Sheets("COMPTES").Range("A1:T" & Sheets("COMPTES").Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo1, 1) To UBound(tablo1, 1)
  If tablo1(n, 9) = "ok" Then
   For M = LBound(tablo2, 1) To UBound(tablo2, 1)
     If tablo1(n, 1) = tablo2(M, 1) Then
         tablo2(M, 15) = "OUI"
     End If
   Next
End If
Next
Sheets("COMPTES").Range("A1").Resize(UBound(tablo2, 1), UBound(tablo2, 2)) = tablo2
End Sub

Bonne journée
 
Dernière édition:

GADENSEB

XLDnaute Impliqué
Ok
avec ce code je n'ais pas de message d'alerte mais rien ne se modifie.
on est d'accord que l'on cherche dans la colonne 9 (la 8eme aprés la premiére ) si il y a "OK"
La hauteur de zone de recherche est la colonne U qui est définie en hauteur de la colonne M, a partir de la ligne 8


Puis si "ok" on va dans la Bdd (onglet COMPTES) on cherche la reference en colonne M puis in fait le changement en "OUI" dans la colonne 15 ( la 14 eme aprés la premiére)

retour à la boucle......


C'est bien cela ?

Code:
Sub Maj_Bq()
Dim tablo1 As Variant
Dim tablo2 As Variant
Dim n As Integer
Dim m As Integer

tablo1 = Sheets("INTERFACE").Range("M8:U" & Sheets("INTERFACE").Range("m" & Rows.Count).End(xlUp).Row)
tablo2 = Sheets("COMPTES").Range("A1:T" & Sheets("COMPTES").Range("A" & Rows.Count).End(xlUp).Row)


For n = LBound(tablo1, 1) To UBound(tablo1, 1)
  If tablo1(n, 9) = "ok" Then
   For m = LBound(tablo2, 1) To UBound(tablo2, 1)
     If tablo1(n, 1) = tablo2(m, 1) Then
         tablo2(m, 15) = "OUI"
     End If
   Next
End If
Next
Sheets("COMPTES").Range("A1").Resize(UBound(tablo2, 1), UBound(tablo2, 2)) = tablo2
End Sub
 

Discussions similaires

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